使用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,您应该在保存和关闭工作簿之前编写所需的所有内容,但不宜重新打开。
谢谢。