当前位置: 首页 > news >正文

写csv测试

 /// <summary>
/// 使用固定的字段名称和对应值写入CSV文件
/// </summary>
/// <param name="fieldNames">固定的字段名称列表(标题行)</param>
/// <param name="values">与字段对应的 values 列表</param>
/// <param name="filePath">CSV文件路径</param>
/// <param name="append">是否追加到现有文件,true为追加,false为覆盖</param>
public  int WriteToCsv(List<string> fieldNames, List<object> values, string filePath)
{
// 验证参数
if (fieldNames == null || fieldNames.Count == 0)
return -1;
// throw new ArgumentException("字段名称列表不能为空", nameof(fieldNames));

     if (values == null || values.Count == 0)
return -2;
//  throw new ArgumentException("值列表不能为空", nameof(values));

     if (fieldNames.Count != values.Count)
return -3;
// throw new ArgumentException("字段名称数量与值数量不匹配");

     if (string.IsNullOrEmpty(filePath))
return -4;
// throw new ArgumentException("文件路径不能为空", nameof(filePath));

     // 检查文件是否存在
filePath = filePath +"\\"+ DateTime.Now.ToString("yyyy-MM-dd")+".csv";
bool fileExists = File.Exists(filePath);

     // 创建StringBuilder来构建内容
StringBuilder content = new StringBuilder();

     // 仅在文件不存在或不追加时写入标题行
if ( !fileExists)
{
string header = string.Join(",", fieldNames);
content.AppendLine(header);
}

     // 处理值并添加到内容
string valueLine = string.Join(",", values.Select(v =>
{
if (v == null) return "";

         string valueStr = v.ToString();
// 处理包含逗号或引号的特殊值
if (valueStr.Contains(",") || valueStr.Contains("\""))
{
return $"\"{valueStr.Replace("\"", "\"\"")}\"";
}
return valueStr;
}));
content.AppendLine(valueLine);

     // 写入文件
using (StreamWriter writer = new StreamWriter(filePath,  fileExists, Encoding.UTF8))
{
writer.Write(content.ToString());
}
return 0;
}

http://www.dtcms.com/a/414834.html

相关文章:

  • 网站访问不了的原因app运营
  • 一种物联网的节水灌溉系统(论文+源码)
  • 配置AC5(ARM Compiler 5)编译器
  • 合肥中科大网站开发wordpress5.0版本恢复到旧版本
  • 网站开发人员要求仿中国加盟网站源码
  • MySQL InnoDB持久化统计信息详解
  • 深入解析MySQL InnoDB Purge机制
  • 网站公司建立wordpress 分页不出来
  • 做英文的小说网站有哪些网站入口你会回来感谢我的
  • 基于神经网络的简单PID控制
  • 神经网络之仿射变换
  • PINN物理信息神经网络驱动的材料学二维热传导方程求解MATLAB代码
  • Docker(二)
  • 基于 PyTorch 完全从零手搓 GPT 混合专家 (MOE) 对话模型
  • 【企业架构】TOGAF架构标准规范-数据架构
  • 大疆无人机图传原理:从镜头到屏幕的实时传输解码之旅
  • Linux安全机制--应用层安全机制
  • 中国通信工业协会区块链专委会三届四次主任委员会议召开
  • 【记录】Ubuntu24.04安装Nvidia驱动
  • 做调查的网站知乎自学软件网站开发
  • 承包工地的网站微信插件图片转换wordpress
  • 基于PyTorch的CIFAR-10图像分类项目总结(2)
  • 网站建设绩效考评php笑话网站源码
  • 梁头网站建设wordpress手机模板插件
  • 浏览器发起http,到得到网页的整个过程
  • IntelliJ IDEA 制表符输出对不齐问题解决
  • 基于RAG的法律条文智能助手(方案篇)-实现与部署-微调与部署
  • Android-MVX技术总结
  • 辽宁学校网站建设请解释网站开发的主要流程
  • 【系统架构设计(39)】数据库控制技术