0

データベーステーブルに基づいて、プログラムで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;

ご協力ありがとうございました!

4

1 に答える 1