【问题标题】:Add two DataTables to same excel worksheet in c#在c#中将两个数据表添加到同一个excel工作表中
【发布时间】:2014-07-23 05:49:26
【问题描述】:

我想在c#的同一个excel工作表中一个接一个地显示两个数据表。我试过这样。

var workBook = new XLWorkbook();
workBook.Worksheets.Add(dataSet.table1);
workBook.Worksheets.Add(dataSet.table2);

但它在同一个 Excel 中创建了两个工作表。 任何人都可以帮助我如何做到这一点?

【问题讨论】:

  • 顺便说一句,你应该never use 2 dots with com objects
  • Alex 你能建议我除此之外如何达到我的要求吗?
  • 我不太了解 XLWorkBook 类来回答这个问题,但从逻辑上讲,Worksheets.Add(..) 听起来完全适合向工作簿添加新工作表。我想您应该先以某种方式获取要使用的工作表,而不是将 dataSet.table1-2 添加到该工作表中。

标签: c# excel datatables


【解决方案1】:

尝试执行以下操作:

workBook.Worksheets.Add(dataSet.table1.Merge(dataSet.table2));  

它将添加 1 个工作表,其中包含 2 个表中的合并数据。

【讨论】:

  • Merge 要求 DataRow 作为其参数。它不占用表格
  • 据我在我的 VS 中看到的,参数是 DataTable ... 因为我指的是你的“数据集”变量“数据集”。也可以使用需要 DataRow 的函数:foreach DataRow in table2 将表 1 与 DataRow 合并,然后添加包含所有数据的表 1 的工作表
  • 谢谢您。您是否有任何想法在另一个表格下方显示一个表格,而不是合并两个表格?
  • 只有一个想法,不包括合并:循环 table1 的所有行并将其写入工作表,然后对 table2 执行相同操作。您可以将数据直接写入工作表中的特定行或特定单元格。我认为它的效率较低。合并可能会给你更好的运行时间。
猜你喜欢
  • 2015-04-12
  • 2018-03-30
  • 1970-01-01
  • 2020-02-29
  • 2015-11-01
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多