C#导入导出.CSV文件
欢迎您成为我的读者,希望这篇文章能给你一些帮助。
前言
大家好,我是阿辉。
今天和大家一起来看看,C#在处理流文件时,我们最常用的导出Excel文件是如何操作的。
在日常的业务编码过程中,很多时候需求就要求导出Office能打开的表格文件。我们一般的做法是使用Office组件的帮助,或者更优秀一点的是使用NPOI组件来导出(摆脱其Office组件的限制)。但是这两种导出组件都有或多或少的弊端。
比如NPOI软件,当数据量过大超过60W的时候,在组件内部会出现溢出问题。目前还无解,只能换一个别的组件或者对导出的数据进行限制。
那么我们有没有别的办法能导出Office能打开的文件呢,此时我们的流文件.csv格式就上场了。
.csv是一种逗号分隔值文件格式,其文件以纯文本形式存储表格数据(数字和文本)。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。
它有很多好处,可存储大量数据,耗时少,易操作,可被Office可打开等。
对于目前很多和下位机硬件进行数据交互,在上位机转存的数据一般情况都会是csv文件。
csv格式展示形式
C#导出CSV文件
try
{string strBufferLine = "";StreamWriter strmWriterObj = new StreamWriter(strFilePath, false, Encoding.UTF8); strmWriterObj.WriteLine(tableheader); for (int i = 0; i < dt.Rows.Count; i++){strBufferLine = "";for (int j = 0; j < dt.Columns.Count; j++){if (j > 0)strBufferLine += ",";strBufferLine += dt.Rows[i][j].ToString();}strmWriterObj.WriteLine(strBufferLine);}strmWriterObj.Close();strmWriterObj.Dispose();return dt.Rows.Count;}catch (Exception ex){throw new Exception(ex.Message);}
C#导入CSV文件
public static DataTable Csv2Dt(string filePath, int n, DataTable dt){try{var encoding = CommonFileHelper.GetFileEncodeType(filePath);StreamReader reader = new StreamReader(filePath, encoding, false);int i = 0, m = 0;reader.Peek();DataRow dr;while (reader.Peek() > 0){ m = m + 1; string str = reader.ReadLine();if (m >= n + 1){string[] split = str.Split(',');dr = dt.NewRow();for (i = 0; i < split.Length; i++){if (i == 0){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);} }
很高兴您能看到这里,希望对你有帮助。
寄语
人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。
原创不易,给个关注。
我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。
很高兴能和您成为朋友。
推荐阅读
分享给同做程序员的你我他
毕业四年,我当初是如何走上编程这条路的!
物联网工程专业的迷茫与抉择
C#导入导出.CSV文件相关推荐
- Java导入导出CSV文件
场景:导入导出CSV文件 1.CSVUtils类 package com.delta.gddx;import java.io.BufferedReader; import java.io.Buffer ...
- mysql SQLyog导入导出csv文件
1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的"更改" --> 字段 - ...
- php mysql导出csv文件_详解PHP导入导出CSV文件
我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...
- php 利用csv导,php 导入/导出 csv 文件
1.简介 项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用原生PHP,实现了CSV格式数据的导入和导出功能.并解决相关乱码问题. 将xl ...
- 如何在SQL Server 2016中使用R导入/导出CSV文件
介绍 (Introduction) Importing and exporting CSV files is a common task to DBAs from time to time. 导入和导 ...
- thinkphp5 导入/导出 Csv文件
1,在thinkphp/library/think下新建Csv.php文件, Csv.php 代码 <?php namespace Think; class Csv { //导出csv文 ...
- BCP命令,导入导出CSV文件
关于bcp,因为每天都要从数据库中导出大量的数据到本地,虽然不知道要干嘛...但对我来说也是个艰巨的任务.因为数据量太大,近亿的数据量,我也是初出茅庐,才知道一个公司长年积累的数据有多恐怖.随便一个s ...
- php页面导出csv,使用PHP生成并导出CSV文件
CSV文件是以纯文本形式存储的,一般以逗号为分隔符. 这里主要简单介绍下如何导出CSV文件. 一.浏览器导出CSV文件格式 /** * 导出CSV文件 */ function exportCsv() ...
- java导出csv文件_R语言数据导入与导出
R语言数据导入与导出 整这么一个系列,还是因为学R语言时遇到过一个非常"小白友好"的网站"DataScience Made Simple".相信很多人搜到过这个 ...
最新文章
- 用了N年的接口,你知道接口是什么吗?——一个简单实例说明接口的伟大意义...
- 阿里P7试用期被淘汰,主管给出的理由让人意想不到
- python opencv 官方文档里LaTeX公式不能正常显示怎么办?
- 前端学习(1821):前端面试题之封装函数之去重
- jQuery浏览器类型判断和分辨率判断
- python正则表达式数字开头_Python正则表达式总结
- 2012年美国计算机研究生排名,2012年美国研究生留学 计算机专业院校排名TOP50
- UI设计不能忽略的字体设计素材
- Python接口自动化之unittest单元测试
- Spring WebFlux 要革了谁的命?
- X509证书结构及解析
- 计算机运算实际运算的误差,误差
- H5第三方专业支付接口、安全稳定、费率优惠
- 发现最新的区块链应用-8月16日
- mongo报socket exception raised
- iOS开发中设置UITableView每组头试图与第一行cell之间的分割线
- html多页面之间如何通信,html5中sharedWorker实现多页面通信代码示例
- ZYNQ Linux 逻辑端(PL)中断demo
- python模块之 paramiko
- 物理学中的衔尾蛇(Ouroboros)