当使用c#编程创建Excel数据透视表并向行标签添加字段时,没有数据显示
本文关键字:数据 添加 标签 字段 显示 编程 创建 透视 Excel | 更新日期: 2023-09-27 17:49:18
我试图以编程方式建立一个基于数据库表的excel数据透视表。我能够构建一个电子表格,并且所有数据库表列都可以作为字段使用。但是向"行标签"框中添加字段不会显示任何数据。
如果我查看列过滤器,它在那里有正确的值,如果我在值框中添加一个字段,电子表格将使用正确的数据更新。所以我知道它连接到数据库,可以得到数据。
我可以手工构建一个数据透视表,并将字段添加到行标签框工作得很好,我试图在代码中做同样的事情。知道为什么我看不到任何数据吗?
下面是我使用的代码: var excelApp = new Application();
excelApp.CellDragAndDrop = false;
excelApp.DisplayAlerts = true;
Workbook workBook = excelApp.Workbooks.Add(Type.Missing);
Worksheet worksheet = workBook.Worksheets.Add();
worksheet.Name = "Test";
PivotCache pivotCache = workBook.PivotCaches().Add(XlPivotTableSourceType.xlExternal, Type.Missing);
pivotCache.Connection = myConnectionString;
pivotCache.MaintainConnection = true;
pivotCache.CommandText = "SomeTable";
pivotCache.CommandType = XlCmdType.xlCmdTable;
PivotTables pivotTables = worksheet.PivotTables();
PivotTable pivotTable = pivotTables.Add(pivotCache, excelApp.ActiveCell, "TestingPivot", true, Type.Missing);
excelApp.Visible = true;
谢谢你的帮助!
我想我已经成功了。而不是
PivotCache pivotCache = workBook.PivotCaches().Add(XlPivotTableSourceType.xlExternal, Type.Missing);
使用:
PivotCache pivotCache = workBook.PivotCaches().Create(XlPivotTableSourceType.xlExternal, Type.Missing, Type.Missing);