C#中使用NPOI导入导出CSV文件

1.首先(NPOI官网下载dll)

添加引用:NPOI.dllNPOI.OOXML.dllNPOI.OpenXml4Net.dllNPOI.OpenXmlFormats.dll

2.代码——CSVHelper

  1     public class CSVHelper
  2     {
  3         /// <summary>
  4         /// 写入CSV
  5         /// </summary>
  6         /// <param name="fileName">文件名</param>
  7         /// <param name="dt">要写入的datatable</param>
  8         public static void WriteCSV(string fileName,DataTable dt)
  9         {
 10             FileStream fs;
 11             StreamWriter sw;
 12             string data = null;
 13
 14             //判断文件是否存在,存在就不再次写入列名
 15             if (!File.Exists(fileName))
 16             {
 17                  fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
 18                  sw = new StreamWriter(fs, Encoding.UTF8);
 19
 20                 //写出列名称
 21                 for (int i = 0; i < dt.Columns.Count; i++)
 22                 {
 23                      data += dt.Columns[i].ColumnName.ToString();
 24                     if (i < dt.Columns.Count - 1)
 25                     {
 26                         data += ",";//中间用,隔开
 27                     }
 28                 }
 29                 sw.WriteLine(data);
 30             }
 31             else
 32             {
 33                  fs = new FileStream(fileName, FileMode.Append, FileAccess.Write);
 34                  sw = new StreamWriter(fs, Encoding.UTF8);
 35             }
 36
 37             //写出各行数据
 38             for (int i = 0; i < dt.Rows.Count; i++)
 39             {
 40                 data = null;
 41                 for (int j = 0; j < dt.Columns.Count; j++)
 42                 {
 43                     data += dt.Rows[i][j].ToString();
 44                     if (j < dt.Columns.Count - 1)
 45                     {
 46                         data += ",";//中间用,隔开
 47                     }
 48                 }
 49                 sw.WriteLine(data);
 50             }
 51             sw.Close();
 52             fs.Close();
 53         }
 54
 55
 56
 57         /// <summary>
 58         /// 读取CSV文件
 59         /// </summary>
 60         /// <param name="fileName">文件路径</param>
 61         public static DataTable ReadCSV(string fileName)
 62         {
 63             DataTable dt = new DataTable();
 64             FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
 65             StreamReader sr = new StreamReader(fs, Encoding.UTF8);
 66
 67             //记录每次读取的一行记录
 68             string strLine = null;
 69             //记录每行记录中的各字段内容
 70             string[] arrayLine=null;
 71             //分隔符
 72             string[] separators = { "," };
 73             //判断,若是第一次,建立表头
 74             bool isFirst = true;
 75
 76             //逐行读取CSV文件
 77             while ((strLine = sr.ReadLine()) != null)
 78             {
 79                 strLine = strLine.Trim();//去除头尾空格
 80                 arrayLine = strLine.Split(separators, StringSplitOptions.RemoveEmptyEntries);//分隔字符串,返回数组
 81                 int dtColumns = arrayLine.Length;//列的个数
 82
 83                 if (isFirst)  //建立表头
 84                 {
 85                     for (int i = 0; i < dtColumns; i++)
 86                     {
 87                         dt.Columns.Add(arrayLine[i]);//每一列名称
 88                     }
 89                 }
 90                 else   //表内容
 91                 {
 92                     DataRow dataRow = dt.NewRow();//新建一行
 93                     for (int j = 0; j < dtColumns; j++)
 94                     {
 95                         dataRow[j] = arrayLine[j];
 96                     }
 97                     dt.Rows.Add(dataRow);//添加一行
 98                 }
 99             }
100             sr.Close();
101             fs.Close();
102
103             return dt;
104         }

原文地址:https://www.cnblogs.com/LY-HeroesRebor/p/9359743.html

时间: 2024-11-05 11:33:36

C#中使用NPOI导入导出CSV文件的相关文章

php 导入/导出 csv 文件

php 导入/导出 csv 文件 1.简介 项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用原生PHP,实现了CSV格式数据的导入和导出功能.并解决相关乱码问题. 将xls转换成csv的文本格式,然后再用php分析这个文件,和PHP分析文本没有什么区别.优点:跨平台,效率比较高.可以读写.缺点:只能直接使用csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化.一个文件只有一个SHEET. 2.相关函数介绍 2.1

mysql SQLyog导入导出csv文件

1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 --> 字段被终止 -->输入逗号,(这是重点,否则导出的csv文件内容都在一列中,而不是分字段分列)下面两个选项框取消. 2.导出csv文件后,使用UE编辑器打开,另存为,选择编码为utf-8格式,保存. 3.打开csv文件,这样中文为正确的显示,如果不转码保存的话,为中文乱码. 4.选择数据

[转]PL/SQL Developer 导入导出csv文件

PL/SQL Developer 可以导入或者导出CSV文件. 导入CSV文件步骤: 1.选择tools->text importer.... 2.选择第二个Data to oracle选项卡,然后选择Open Data file....,选择要导入的csv文件,确定 3.选择对应的owner和table,将字段一一对应,最后点击下方的导入,数据即导入到了选定的table中了. 导出csv文件相对比较简单: 1.先用sql语句查询得到结果 2.选择export query results ...

导入导出csv文件

在工作中需要把csv文件数据导入数据库或者把数据库数据导出为csv文件.以下是我的简单的实现. 1 <?php 2 class csv 3 { 4 public $db_connection; 5 public $table_name; 6 public $file_path; 7 8 public function __construct($db_connection,$table_name,$file_path) 9 { 10 $this->db_connection=$db_connec

Bash中使用MySQL导入导出CSV格式数据[转]

转自: http://codingstandards.iteye.com/blog/604541 MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; MySQL中导入CSV格式数据的SQL语句

mysql导入导出csv文件

问题:为什么要导入导出为csv文件呢? (1)所谓大数据处理,仅仅关心某些列的数据,而非整个表结构,这些数据就需要保存为csv通用的存储格式,不仅可以在widows下作为文本文件进行处理:也可以在hadoop分布式系统上上进行处理: (2)mysql 数据库 迁移为 Oracle .SQLServer数据库,或者反过来,由于各自的设计不同,不能直接的导入导出为dmb sql等格式的文件,可能需要数据的导出导入为csv,而数据表结构的设计可能得通过其它途径. 一:MYSQL如何导出文本文件  (备

PHP导入导出csv文件

2017年11月9日09:25:56 根据项目实践总结的一个类文件, mac/win下没乱码 简体中文 默认从gb2312转到utf-8 https://gitee.com/myDcool/PHP-CSV 用法: 1 // 导入: 2 $arr = CSV::import($filepath); 3 4 // 导出: 5 $data = ['filename' => 'xxx', 'list' => [[xx,xx,x], [xx,xx,x]]]; 6 CSV::export($data);

简单回顾NPOI导入导出excel文件

当前环境.net4.0 去官方下下载:  NOPI官网 关于NOPI的详细,这里就不再介绍. 在项目中,我们只需引入  NPOI.dll  就可以了. 接下来................................................................ 上代码......... .......................................................... /// <summary> /// 导出 /// </sum

java中使用poi导入导出excel文件_并自定义日期格式

Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使用java.此外,您可以读取和写入MS Word和PowerPoint文件使用java.Apache POI是java Excel解决方案(Excel 97-2008). 需要jar: poi-3.9-20121203.jar 导出 public static void main(String[]