c#如何将datatable保存成文件

c#如何将datatable保存成文件,第1张

可以通过将datatable中的数据导出为Excel文件,然后保存excel文件到本地。不知道你的具体需求是什么,这种方法仅供参考,代码如下:

//创建一个workbook对象,默认创建03版的Excel

Workbook workbook = new Workbook()

//指定版本信息,07及以上版本最多可以插入1048576行册灶数据

workbook.Version = ExcelVersion.Version2013

//获取第一张sheet

Worksheet sheet = workbook.Worksheets[0]

//得到在datatable里的数据

DataTable dt = GetDataTable()

//从第一行第一列开哗碰始插入数据,true代表数据包含列名

sheet.InsertDataTable(dt, true, 1, 1)

//保存文件

workbook.SaveToFile("ExportDataToExcel.xlsx",ExcelVersion.Version2013)

程序要引入spire.xls.dll,同时需要州芦扮在vs程序中添加相应的using指令。

下面的函数作用,将DataTable导出到EXCEL文件:

private void DataTabletoExcel(System.Data.DataTable tmpDataTable,string strFileName)

{

if (tmpDataTable == null)

{

return

}

int rowNum = tmpDataTable.Rows.Count

int columnNum = tmpDataTable.Columns.Count

int rowIndex = 1

int columnIndex = 0

Excel.Application xlApp = new Excel.ApplicationClass()

xlApp.DefaultFilePath = ""

xlApp.DisplayAlerts = true

xlApp.SheetsInNewWorkbook = 1

Excel.Workbook xlBook = xlApp.Workbooks.Add(true)

/圆饥册/将DataTable的列名肢纳导入Excel表第橘宏一行

foreach(DataColumn dc in tmpDataTable.Columns)

{

columnIndex ++

xlApp.Cells[rowIndex,columnIndex] = dc.ColumnName

}

//将DataTable中的数据导入Excel中

for(int i = 0i<rowNumi++)

{

rowIndex ++

columnIndex = 0

for (int j = 0j<columnNumj++)

{

columnIndex ++

xlApp.Cells[rowIndex,columnIndex] = tmpDataTable.Rows[i][j].ToString()

}

}

xlBook.SaveCopyAs(strFileName + ".xls")

}

需导入命名空间 System.Data

//使用手工DataTable 表填充 DataSet数据集

public static DataSet SelectDataSet()

{

DataSet ds = new DataSet()//创建数据集

DataTable dt = new DataTable("wc")//创建dt对象wc表

//创建表的一吵旅个列

DataColumn name = new DataColumn()

name.ColumnName = "姓名"//列名

name.DataType = System.Type.GetType("System.String")//数据类型

name.MaxLength = 50//长度

//创建一个列,参数设置列名,数据类型

DataColumn love = new DataColumn("爱好",typeof(string))

love.MaxLength = 50

dt.Columns.Add(name)//对象dt表中加入燃晌列

dt.Columns.Add(love)//把列放入表dt中

dt.Columns.Add("张刷")//dt表中加入列

DataRow drFirst = dt.NewRow()//使用表对象皮碰锋dt创建一行

drFirst["姓名"] = "张帅"//设置行姓名列的值

drFirst["爱好"] = "上网"//设置行爱好列的值

drFirst[2] = "好"//下标确定列赋值

dt.Rows.Add(drFirst)//表对象dt添加行

ds.Tables.Add(dt2)//数据集中添加表dt2

ds.Tables.Add(dt)//数据集中添加表dt

return ds//返回数据集

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12288312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存