是否可以更改透视表的范围,然后用存在文件的EPPlus刷新值?
现在我使用EPPlus与Excel .EPPlus在现有的xlsx中添加具有定义良好的枢轴表的数据的新表.然后我用如下代码刷新数据源:
private bool RefreshPivotTable(string file, string sheetName, string pivotTableName, string sourceData)
{
try
{
Type excelType = Type.GetTypeFromProgID("Excel.Application");
dynamic excel = Activator.CreateInstance(excelType);
dynamic workbook = excel.Workbooks.Open(file);
dynamic sheet = workbook.Sheets[sheetName];
dynamic pivotTable = sheet.PivotTables(pivotTableName);
pivotTable.SourceData = sourceData;
pivotTable.RefreshTable();
workbook.Save();
workbook.Close();
excel.Application.Quit();
return true;
}
catch(Exception ex)
{
return false;
}
}但是我想用EPPlus做所有的事情。谢谢。
发布于 2019-05-11 08:34:02
恐怕这只是部分的可能。
查看EPPlus文档,您将发现有关数据透视表及其带有源范围和类似属性的枢轴缓存的文档。但是对于提神的枢轴表却没有给出任何说明。这应该在打开Excel中的工作簿时完成--也许这对您来说已经足够了?
无论如何,我对EPPlus的理解是阅读操作Excel文件的结构,而不是在它们中进行任何计算--这仍然在Excel应用程序本身的域中。
修正::我必须更正自己:一般计算是可能的,从EPPlus版本4到本教程页,您可以运行worksheet.Calculate()和其他命令。但仍然没有提到枢轴表。
https://stackoverflow.com/questions/56084332
复制相似问题