我刚刚开始使用EPPLus Lib通过C#创建"complex"工作簿,我在尝试创建两个数据透视表时遇到了一些麻烦 .
第一个创建很好,但是当我尝试创建第二个时,它不会抛出任何异常但是当我尝试使用excel打开worknook时它说
“Excel在'myworkbook.xlsx'中找到了不可读的内容 . 是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是”
当我按'是'时:
修复日志 - >已移除的功能:来自/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);
}
有任何想法吗?
谢谢!
1 回答
出了什么问题,我没有把它放在我的问题中,因为我之前正在重新打开工作簿,如下所示:
并且由于epplus的save方法关闭了工作簿,程序丢失了某种引用或者只是丢失了一些信息 .
简而言之,要正确使用epplus,您应该在保存和关闭工作簿之前编写所需的一切,重新打开它并不好 .
谢谢 .