データベーステーブルに基づいて、プログラムで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;
ご協力ありがとうございました!