使用EPPlus创build多个透视表

我刚开始使用EPPLus Lib来通过C#创build“复杂”的工作簿,而我试图创build两个数据透视表时遇到了一些麻烦。

第一个创build罚款,但是当我尝试创build第二个它不会抛出任何exception,但是当我尝试使用Excel打开worknook它说

“Excel在'myworkbook.xlsx'中发现了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”

当我按“是”时

修复日志 – >已删除function:数据透视表来自/xl/pivotTables/pivotTable2.xml部分的数据透视表(数据透视表>视图)已删除logging:/xl/workbook.xml工作簿属性部分(工作簿)已修复logging:/ xl / workbook中的工作簿属性.xml部分(Workbook)

这是我build立的代码:

CreatePivotTable("Pivot1", "Pivot1", rng1); CreatePivotTable("Pivot2", "Pivot2", rng2); public void CreatePivotTable(string pivotSheet, string pivotName, ExcelRangeBase srcRange) { if (m_wb.Worksheets[pivotSheet] != null) m_wb.Worksheets.Delete(pivotSheet); var ws = m_wb.Worksheets.Add(pivotSheet); var pivot = ws.PivotTables.Add(ws.Cells["A1"], srcRange, pivotName); } 

有任何想法吗?

谢谢!

什么错了,我没有把它放在我的问题是,我重新打开工作簿之前,像这样:

  CreatePivotTable("Pivot1", "Pivot1", rng1); Save(); CreatePivotTable("Pivot2", "Pivot2", rng2); private void Save() { m_writer.Save(); m_writer.OpenWorkbook (); } 

而且由于epplus的保存方法closures了工作簿,程序失去了某种参考或者只是迷失了一些信息。

简而言之,要正确使用epplus,在保存和closures工作簿之前,您应该写下所有需要的东西,但不宜重新打开。

谢谢。