资讯详情

C#导入导出.CSV文件

前言

大家好,我是阿辉。

今天和大家一起来看看,C#我们在处理流文件时最常用的导出Excel如何操作文件。

在日常业务编码过程中,需求往往需要导出Office表格文件可以打开。我们的一般做法是使用它Office组件的帮助或更好的是使用NPOI组件导出(摆脱它Office组件的限制)。但这两种导出组件或多或少都有缺点。

比如NPOI当数据量超过60时,软件W当组件内部出现溢出问题时。目前还没有解决办法,只能更换其他组件或限制导出数据。

那么,有没有其他方法可以导出呢?Office可以打开的文件,此时我们的流文件.csv格式上场。

.csv它是一种逗号分隔值文件格式,其文件以纯文本种逗号分隔值文件格式。CSV文件由任何数量的记录组成,记录间由一个替换符分开;每个记录由字段组成,字段之间的分隔符是其他字符或字符串,最常见的是逗号或制表符。通常,所有的记录都有相同的字段序列。通常是纯文本文件。

它有很多好处,可存储大量数据,耗时少,易操作,可被Office可打开等。

对于许多与下位机硬件交互的数据,上位机转存的数据通常是csv文件。

try { stringstrBufferLine=""; StreamWriterstrmWriterObj=newStreamWriter(strFilePath,false,Encoding.UTF8); strmWriterObj.WriteLine(tableheader); for(inti=0;i<dt.Rows.Count;i  ) { strBufferLine=""; for(intj=0;j<dt.Columns.Count;j  ) { if(j>0) strBufferLine =","; strBufferLine =dt.Rows[i][j].ToString(); } strmWriterObj.WriteLine(strBufferLine); } strmWriterObj.Close(); strmWriterObj.Dispose(); returndt.Rows.Count; } catch(Exceptionex) { thrownewException(ex.Message); } 

publicstaticDataTableCsv2Dt(stringfilePath,intn,DataTabledt) { try { varencoding=CommonFileHelper.GetFileEncodeType(filePath); StreamReaderreader=newStreamReader(filePath,encoding,false); inti=0,m=0; reader.Peek(); DataRowdr; while(reader.Peek()>0) { m=m 1; stringstr=reader.ReadLine(); if(m>=n 1) { string[]split=str.Split(','); dr=dt.NewRow(); for(i=0;i<split.Length;i  ) { if(i==0) { nbsp;                       dr[i] = split[i];
                     }                           
                     else
                     {
                         if (string.IsNullOrEmpty(split[i]))
                         {                                    
                             dr[i] = DBNull.Value;
                         }
                         else
                         {
                             dr[i] = Convert.ToDouble(split[i]);
                         }
                     }
                 }
                 dt.Rows.Add(dr);
             }
         }
         reader.Close();
         reader.Dispose();
         return dt;
     }
     catch (Exception ex)
     {                    
         throw new Exception(ex.Message);
     }            
 }

很高兴您能看到这里,希望对你有帮助。

标签: xsm吸收薄膜电容器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司