【发布时间】:2014-11-12 07:20:27
【问题描述】:
我有一个包含 30,000 行和大约 50 列的表,我必须将所有这些数据复制到没有列标题的 Excel 工作表 (.xlsm) 中,但我目前的方法需要很长时间。这是我的代码,谁能告诉我如何改进它以快速将数据填充到 excel 中或任何其他方法
string Sqlcmd;
Sqlcmd = "select Number ,Name1, Name 2 from MyTempData";
SqlCommand command = new SqlCommand(Sqlcmd, con);
SqlDataAdapter a = new SqlDataAdapter(command);
DataTable datatable = new DataTable();
a.Fill(datatable);
con.Close();
string filename = "E:\\shared\\TotalInformation.xlsm";
SpreadsheetGear.IWorkbook Myworkbook = SpreadsheetGear.Factory.GetWorkbook(filename);
SpreadsheetGear.IWorksheet partnerdataSheet = Myworkbook.Worksheets["Total Information"];
SpreadsheetGear.IRange partnerNumberCheckRange = Myworkbook.Names["rngCopyRow"].RefersToRange;
partnerNumberCheckRange.CopyFromDataTable(datatable, SetDataFlags.InsertCells | SetDataFlags.NoColumnHeaders);
Myworkbook.SaveAs("D:\\Both.xlsm", SpreadsheetGear.FileFormat.OpenXMLWorkbookMacroEnabled);
【问题讨论】:
-
Code Review 会更好吗?
标签: c# spreadsheetgear