C#怎么实现DataTable转TXT、CSV文件
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍了C#怎么实现DataTable转TXT、CSV文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么实现DataTable转TXT、CSV文件文章都会有所收获,下面我们一起来看看吧。
转TXT文件
public object DataTableToTXT(DataTable vContent, string vOutputFilePath) { object resObj; StringBuilder sTxtContent; try { if (File.Exists(vOutputFilePath)) File.Delete(vOutputFilePath); sTxtContent = new StringBuilder(); //数据 foreach (DataRow row in vContent.Rows) { for (int i = 0; i < vContent.Columns.Count; i++) { sTxtContent.Append(row[i].ToString().Trim()); sTxtContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : "\t"); } } File.WriteAllText(vOutputFilePath, sTxtContent.ToString(), Encoding.Unicode); resObj = new object[] { 0, "OK" }; } catch (Exception ex) { resObj = new object[] { 0, "OK" }; } return resObj; }
转.CSV文件
将DataTable转换成CSV文件是一种常见的转换形式,主要通过遍历Table的每行,再对每行遍历每列,实现对数据的读取,然后用分隔符分隔Table的每个栏位数据,把读取的字符写入到CSV文件中。这里每个栏位之间用逗号分隔,每行用换行符。实现代码如下:
public ExecutionResult DataTableToCsv(System.Data.DataTable vContent, string vOutputFilePath) { ExecutionResult sResult = new ExecutionResult(); System.Text.StringBuilder sCsvContent; try { sCsvContent = new System.Text.StringBuilder(); //栏位 for (int i = 0; i < vContent.Columns.Count; i++) { sCsvContent.Append(vContent.Columns[i].ColumnName); sCsvContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : ","); } //数据 foreach (System.Data.DataRow row in vContent.Rows) { for (int i = 0; i < vContent.Columns.Count; i++) { sCsvContent.Append(row[i].ToString().Trim()); sCsvContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : ","); } } File.WriteAllText(vOutputFilePath, sCsvContent.ToString(), Encoding.UTF8); sResult.Status = true; } catch (Exception ex) { sResult.Message = ex.Message; sResult.Status = false; } return sResult; }
关于“C#怎么实现DataTable转TXT、CSV文件”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#怎么实现DataTable转TXT、CSV文件”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341