【问题标题】:DataTable to Excel range in one shot?一次将 DataTable 转换为 Excel 范围?
【发布时间】:2012-05-11 20:10:41
【问题描述】:

我在 System.Data.DataTable 实例中有一些数据,想一次性将其直接放入 Excel 工作表范围。

我正在使用 VS 2008,我的项目是 C# Excel 2007 Workbook 项目。

谢谢

【问题讨论】:

  • 谢谢,但@RoyiNamir:由 Antonio Bakula 编辑,这与 Visual Studio Tools for Office 有关,我没有在 asp .net 中实现 Web 应用程序。我的项目的输出只是一个 excel 文件加上一些 dll。

标签: c# excel visual-studio-2008 datatable vsto


【解决方案1】:

您首先必须将数据表转换为二维数组,然后将二维数组分配给范围

【讨论】:

  • 谢谢 Brijesh,但我不想逐个单元格地传输数据,我想知道是否可以像这样一两步完成:((Excel.Range)myExcelRange).FromDataTable(mySourceDataTable);跨度>
  • 在Range对象中可以看到函数CopyFromRecordset,所以可以先将datatable转成ado记录集再使用这个函数
  • 为了同时保留原始数据类型,最简单的解决方案是使用上面提到的方法myRange.CopyFromRecordset(myDataAsRecordset)。如果您需要(像我一样)从 DataTable 转换为 Recordset,我建议您查看 here。也不要忘记在调用CopyFromRecordset之前执行myDataAsRecordset.MoveFirst();myDataAsRecordset.MoveNext();
猜你喜欢
  • 2014-04-09
  • 1970-01-01
  • 2017-01-28
  • 1970-01-01
  • 2017-04-28
  • 2016-02-29
  • 2012-02-03
  • 2016-09-06
  • 1970-01-01
相关资源
最近更新 更多