EPPlus在不同的工作表中创建相同的表

时间:2015-07-09 12:19:58

标签: c# epplus

我正在尝试在两个不同的工作表中创建相同的表,但它似乎不起作用。

我使用以下代码创建表:

public void createWS(ExcelPackage package)
{
   ExcelWorksheet ws = package.Workbook.Worksheets["WorkSheet1"];
   createTables(ws);
   ws = package.Workbook.Worksheets["WorkSheet2"];
   createTables(ws);
}

public void createTables(ExcelWorksheet ws)
{
   ws.Tables.Add(ws.Cells[1, 1, 301, 1], "Level 1");
}

当我尝试创建第二个时,我收到错误:

  

TableName不是唯一的

您是否知道如何在两个不同的工作表中创建相同的表?

1 个答案:

答案 0 :(得分:2)

Excel本身(与代码或EPPlus无关)要求表名在同一workBOOK中是唯一的。您可以在Excel中手动尝试此操作。因此,您必须调整函数并将表名作为参数传递:

public void createTables(ExcelWorksheet ws, string TableName)
{
   ws.Cells[1, 1].Value = "Col1"; //EPPlus generated file will not open properly with this if the cells are all empty
   ws.Tables.Add(ws.Cells[1, 1, 301, 1], TableName);
}

并提供不同的名称。