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

C# CSV工具类,读取csv文件、将数据导出为csv文件格式,用DataGridView表格控件显示

  CSVHelper.cs工具类能够将CSV格式的文件读取到程序中,转换为内存中DataTable类型的数据,可以作为数据源直接给到DataGridView控件以表格形式显示csv中的数据。也可以导出程序中DataTable类型数据为CSV文件。

  使用示例:

1、准备一个csv文件

2、在程序中调用CSVHelper.CSVToDataTableByStreamReader()函数

private void btn_ImportCSV_Click(object sender, EventArgs e)
        {
            #region 选择导入文件路径
            string OpenFilePath = "";
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "浏览";
            ofd.Filter = "文本文件|*.trc;*.csv;*.asc";  //这是设置扩展名。
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                OpenFilePath = ofd.FileName;
            }
            else
            {
                return;
            }
            #endregion
            //调用函数将csv文件中的数据抓换为dataTable类型数据
            dataTable = CSVHelper.CSVToDataTableByStreamReader(OpenFilePath, Encoding.UTF8);
            //将数据源给到DataGridView控件
            dgv_CSV.DataSource = dataTable;
        }

3、CSVHelper函数的调用效果如下

导入csv文件

CSVHelper工具类中封装的功能函数

主要包括三个功能函数

/// <summary>
/// CSV转换成DataTable(OleDb数据库访问方式)
/// </summary>
/// <param name="csvPath">csv文件路径</param>
/// <returns></returns>
public static DataTable CSVToDataTableByOledb(string csvPath)

/// <summary>
/// CSV转换成DataTable(文件流方式)
/// </summary>
/// <param name="csvPath">csv文件路径</param>
/// <param name="csvEncoding">csv文件字符编码格式</param>
/// <returns></returns>
public static DataTable CSVToDataTableByStreamReader(string csvPath, Encoding csvEncoding)

/// <summary>
/// DataTable 生成 CSV
/// </summary>
/// <param name="dt">DataTable</param>
/// <param name="csvPath">csv文件路径</param>
public static void DataTableToCSV(DataTable dt, string csvPath)

「CSVHelper.cs」链接 :https://pan.quark.cn/s/7ca8bcf8ba56

「CSV示例程序」链接:https://pan.quark.cn/s/07be96316f82

数据导出到csv文件示例

导出csv文件

查看导出效果

「CSVHelper.cs」链接 :https://pan.quark.cn/s/7ca8bcf8ba56

「CSV示例程序」链接:https://pan.quark.cn/s/07be96316f82


http://www.kler.cn/a/372534.html

相关文章:

  • es 常用命令(已亲测)
  • 聚类分析算法——K-means聚类 详解
  • sicp每日一题[2.62]
  • 如何用猿大师办公助手实现OA系统中Word公文/合同在线编辑及流转?
  • WebGL 3D基础
  • Android H5页面性能分析策略
  • 批量删除redis数据
  • N9300-S16语音芯片:提升电梯播报体验,实现导航声音播报提示
  • Spring Boot 创建项目详细介绍
  • list ------ 是一个带头双向循环的列表
  • 从0到1,解读安卓ASO优化!
  • At dp综合
  • react基础之reactHooks
  • JetPack Compose安卓开发之底部导航Tabbar
  • Windows on ARM上使用sherpa-onnx实现语音识别
  • MFC界面开发组件Xtreme Toolkit Pro v24全新发布—完整的SVG支持
  • FPGA 第一讲
  • 快速生成高质量提示词,Image to Prompt 更高效
  • 简道云和企业微信数据同步集成案例
  • Python 操作 读/写 Excel
  • 电科金仓(人大金仓)更新授权文件(致命错误: XX000: License file expired.)
  • 鸿蒙系统开发入门:一步步踏上创新之旅
  • conda使用指南
  • 100种算法【Python版】第24篇——Bellman-Ford算法
  • Java异常2
  • 计算机网络-常用网络命令和工具