使用EPPlus创建多个透视表

问题描述:

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

第一个创建了罚款,但是当我尝试创建第二个它没有抛出任何异常,但是当我尝试使用Excel它说

“Excel中发现,在“myworkbook无法读取内容打开worknook .xlsx等。你要 恢复此工作簿的内容如果您信任这个 工作簿的来源,clickYes”

当我按?‘是’:

修复日志 - > 删除功能:从已移除部分/xl/pivotTables/pivotTable2.xml(透视>视图) 记录数据透视表:从/xl/workbook.xml部分(工作簿) 修复记录工作簿属性:工作簿从/xl/workbook.xml部分 (练习册)性能

下面是我建立的代码:

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的保存方法关闭工作簿时,程序丢失某种参考或只是迷失了一些信息。

总之,要正确使用epplus,您应该在保存和关闭工作簿之前编写所需的所有内容,但不宜重新打开。

谢谢。