我正在尝试在两个不同的工作表中创建相同的表,但它似乎不起作用。
我使用以下代码创建表:
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不是唯一的
您是否知道如何在两个不同的工作表中创建相同的表?
答案 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);
}
并提供不同的名称。