将DataTable转换成CSV文件

DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。CSV文件是个纯文本文件,每一行表示一张图片的许多属性。

在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下:

        /// <summary>
        /// 将DataTable转换成CSV文件
        /// </summary>
        /// <param name="dt">DataTable</param>
        /// <param name="filePath">文件路径</param>
        public static void SaveCsv(DataTable dt, string filePath)
        {
            FileStream fs = null;
            StreamWriter sw = null;
            try
            {
                fs = new FileStream(filePath + dt.TableName + ".csv", FileMode.Create, FileAccess.Write);
                sw = new StreamWriter(fs, Encoding.Default);
                var data = string.Empty;
                //写出列名称
                for (var i = 0; i < dt.Columns.Count; i++)
                {
                    data += dt.Columns[i].ColumnName;
                    if (i < dt.Columns.Count - 1)
                    {
                        data += ",";
                    }
                }
                sw.WriteLine(data);
                //写出各行数据
                for (var i = 0; i < dt.Rows.Count; i++)
                {
                    data =string.Empty;
                    for (var j = 0; j < dt.Columns.Count; j++)
                    {
                        data += dt.Rows[i][j].ToString();
                        if (j < dt.Columns.Count - 1)
                        {
                            data += ",";
                        }
                    }
                    sw.WriteLine(data);
                }
            }
            catch (IOException ex)
            {
                throw new IOException(ex.Message, ex);
            }
            finally
            {
                if (sw != null) sw.Close();
                if (fs != null) fs.Close();
            }
        }
时间: 2024-10-10 04:08:59

将DataTable转换成CSV文件的相关文章

用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV

利用poi将excel文件后缀为.xls .xlsx的文件转换成txt/csv文本文件 首先,引入所需的jar包: <dependencies> 2 <dependency> 3 <groupId>net.sf.opencsv</groupId> 4 <artifactId>opencsv</artifactId> 5 <version>2.1</version> 6 </dependency> 7

【游戏开发】Excel表格批量转换成CSV的小工具

一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就论占用内存来说,同样的数据量Excel表格所占用的内存要远远大于CSV,因此将Excel转换成CSV势在必行.如果单单转换一个Excel表格还好,直接另存为就搞定的,但是如何将一个文件下的N个Execl表格转成CSV呢?今天马三就来和大家一起用Python撸一个Excel表格批量转换CSV的小工具—

Excel表格批量转换成CSV的小工具

一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就论占用内存来说,同样的数据量Excel表格所占用的内存要远远大于CSV,因此将Excel转换成CSV http://p.baidu.com/itopic/main/qlog?qid=8a666162633265633465333500&type=questionloghttp://p.baidu.c

[Windows问题-3] C#转换成DLL文件

问题:这篇文章主要分为两部分,第一部分介绍如何将一个C#程序文件转换成DLL动态链接库文件,第二部分介绍如何在程序中使用这个生成的DLL文件. 第一部分: 1.首先新建一个C#文件"show.cs",这个文件就是我们需要转换成DLL文件的源文件.文件具体内容如下: using System; namespace Dll { public class Show { public String hello = "hello world\n"; public String

C#将DataTable转换成list的方法

本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: /// <summary>   /// 酒店评论列表-分页  /// </summary>  /// <param name="userId"></param>  /// <param name="pageIndex">当前页</param>  /// <param name="

c#程序将excel文件转换成xml文件

要程序你自己去组装去,我只写两个部分,一个是读Excel的部分,然后是写入到xml的1) 从指定的excel读出信息string strConn="provider=Microsoft.Jet.OLEDB.4.0;data source=你的Excel文件.xls;Extended Properties=Excel 8.0;";DataSet ds=new DataSet();System.Data.OleDb.OleDbConnection oleConn=new System.Da

怎么样把PPT转换成PDF文件使用

当ppt需要转换成pdf文件时,不外乎ppt文件不适合email转送.打印.网络分享.大家想要将自己的知识或是经验传到网上给更多的人分享.学习,又怕上传后版权的问题,毕竟你将ppt上传到网上也不能说就是你写的,有人下载后将里面的内容稍作更改后就变成自己的了,你也无处伸冤.pdf文件很好的保护了文件不被更改,为大家的心理设立一道防线,下面将给大家分享怎么把ppt转成pdf文件上传到网上的全过程,希望对您有所帮助. 第一步,首先请将一款转换中的重要工具下载并且按照步骤安装到电脑上,在浏览器中搜索"迅

DataTable转换成IList&lt;T&gt;的简单实现

DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的高频率动作,DataTable却无能为力. 网上很多朋友说用反射实现.那么问题来了,一定要用反射吗? 下面我们用一个不用反射的方式实现: TableToList类 using System; using System.Collections.Generic; using System.Linq; u

DataTable转换成List&lt;T&gt;

很多时候需要将DataTable转换成一组model,直接对model执行操作会更加方便直观. 代码如下: 1 public static class DataTableToModel 2 { 3 public static List<T> ConvertToModel<T>(this DataTable dt) 4 { 5 if (dt == null || dt.Rows.Count == 0) 6 { 7 return null; 8 } 9 10 var result =