// 新規ワークブックの作成 var workbook = new GrapeCity.Documents.Excel.Workbook(); object[,] sourceData = new object[,] { { "受注番号", "商品", "カテゴリ", "金額", "日付", "産地" }, { 1, "にんじん", "野菜", 427000, new DateTime(2018, 7, 6), "アメリカ" }, { 2, "ブロッコリー", "野菜", 823900, new DateTime(2018, 7, 7), "イギリス" }, { 3, "バナナ", "果物", 61700, new DateTime(2018, 7, 8), "アメリカ" }, { 4, "バナナ", "果物", 838400, new DateTime(2018, 7, 10), "カナダ" }, { 5, "アスパラガス", "野菜", 262600, new DateTime(2018, 7, 10), "ドイツ" }, { 6, "オレンジ", "果物", 361000, new DateTime(2018, 7, 11), "アメリカ" }, { 7, "ブロッコリー", "野菜", 906200, new DateTime(2018, 7, 11), "オーストラリア" }, { 8, "バナナ", "果物", 690600, new DateTime(2018, 7, 16), "フィリピン" }, { 9, "りんご", "果物", 241700, new DateTime(2018, 7, 16), "日本" }, { 10, "りんご", "果物", 743100, new DateTime(2018, 7, 16), "カナダ" }, { 11, "バナナ", "果物", 825000, new DateTime(2018, 7, 16), "ドイツ" }, { 12, "ブロッコリー", "野菜", 701200, new DateTime(2018, 7, 18), "アメリカ" }, { 13, "にんじん", "野菜", 190300, new DateTime(2018, 7, 20), "ドイツ" }, { 14, "ブロッコリー", "野菜", 282400, new DateTime(2018, 7, 22), "カナダ" }, { 15, "りんご", "果物", 694600, new DateTime(2018, 7, 24), "日本" }, }; IWorksheet worksheet = workbook.Worksheets[0]; worksheet.Range["J1:O16"].Value = sourceData; worksheet.Range["J:O"].ColumnWidth = 15; IPivotCache pivotcache = workbook.PivotCaches.Create(worksheet.Range["J1:O16"]); IWorksheet worksheet2 = workbook.Worksheets.Add(); IPivotTable pivottable = worksheet2.PivotTables.Add(pivotcache, worksheet2.Range["A1"], "pivottable1"); worksheet.Range["L1:L16"].NumberFormat = "¥#,##0"; // ピボットテーブルのフィールドを設定 IPivotField field_Category = pivottable.PivotFields["カテゴリ"]; field_Category.Orientation = PivotFieldOrientation.ColumnField; IPivotField field_Country = pivottable.PivotFields["産地"]; field_Country.Orientation = PivotFieldOrientation.RowField; IPivotField field_Amount = pivottable.PivotFields["金額"]; field_Amount.Orientation = PivotFieldOrientation.DataField; field_Amount.NumberFormat = "¥#,##0"; IPivotField field_Date = pivottable.PivotFields["日付"]; field_Date.Orientation = PivotFieldOrientation.PageField; IPivotField field_Product = pivottable.PivotFields["商品"]; field_Product.Orientation = PivotFieldOrientation.RowField; worksheet2.Select(); worksheet2.Range["A:D"].EntireColumn.AutoFit(); worksheet2.Range["F1"].Value = "GETPIVOTDATA 関数および IRange.GenerateGetPivotDataFunction() メソッドの使用方法"; worksheet2.Range["F3"].Value = "アメリカ産の果物「バナナ」の金額を返します。"; worksheet2.Range["F4"].Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。"; worksheet2.Range["F5"].Value = worksheet2.Range["B8"].GenerateGetPivotDataFunction(); worksheet2.Range["F6"].Formula = worksheet2.Range["B8"].GenerateGetPivotDataFunction(); worksheet2.Range["F8"].Value = "カナダ産の果物の合計金額を返します。"; worksheet2.Range["F9"].Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。"; worksheet2.Range["F10"].Value = worksheet2.Range["B14"].GenerateGetPivotDataFunction(); worksheet2.Range["F11"].Formula = worksheet2.Range["B14"].GenerateGetPivotDataFunction(); worksheet2.Range["F13"].Value = "オーストラリア産の野菜「ブロッコリー」の金額を返します。"; worksheet2.Range["F14"].Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。"; worksheet2.Range["F15"].Value = worksheet2.Range["C13"].GenerateGetPivotDataFunction(); worksheet2.Range["F16"].Formula = worksheet2.Range["C13"].GenerateGetPivotDataFunction(); worksheet2.Range["F18"].Value = "ドイツ産の全商品の総計を返します。"; worksheet2.Range["F19"].Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。"; worksheet2.Range["F20"].Value = worksheet2.Range["D18"].GenerateGetPivotDataFunction(); worksheet2.Range["F21"].Formula = worksheet2.Range["D18"].GenerateGetPivotDataFunction(); worksheet2.Range["F23"].Value = "全ての産地の野菜の総計を返します。"; worksheet2.Range["F24"].Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。"; worksheet2.Range["F25"].Value = worksheet2.Range["C26"].GenerateGetPivotDataFunction(); worksheet2.Range["F26"].Formula = worksheet2.Range["C26"].GenerateGetPivotDataFunction(); worksheet2.Range["F28"].Value = "アメリカ/カナダ産の野菜「バナナ」「ブロッコリー」の金額を返します。"; worksheet2.Range["F29"].Value = @"=GETPIVOTDATA(""金額"",$A$3,""商品"",A15:A16,""カテゴリ"",""野菜"",""産地"",{""アメリカ"",""カナダ""})"; worksheet2.Range["F30"].Formula2 = @"=GETPIVOTDATA(""金額"",$A$3,""商品"",A15:A16,""カテゴリ"",""野菜"",""産地"",{""アメリカ"",""カナダ""})"; worksheet2.Range["F1, F3, F4, F8, F9, F13, F14, F18, F19, F23, F24, F28"].Font.Bold = true; worksheet2.Range["F5, F10, F15, F20, F25, F29"].Font.Color = Color.DarkRed; worksheet2.Range["F6, F11, F16, F21, F26, F30:G31"].HorizontalAlignment = HorizontalAlignment.Left; // xlsx ファイルに保存 workbook.Save("GetPivotDataFunction.xlsx");
' 新規ワークブックの作成 Dim workbook As New Workbook Dim sourceData As Object(,) = New Object(,) { {"受注番号", "商品", "カテゴリ", "金額", "日付", "産地"}, {1, "にんじん", "野菜", 427000, #2018-7-6#, "アメリカ"}, {2, "ブロッコリー", "野菜", 823900, #2018-7-7#, "イギリス"}, {3, "バナナ", "果物", 61700, #2018-7-8#, "アメリカ"}, {4, "バナナ", "果物", 838400, #2018-7-10#, "カナダ"}, {5, "アスパラガス", "野菜", 262600, #2018-7-10#, "ドイツ"}, {6, "オレンジ", "果物", 361000, #2018-7-11#, "アメリカ"}, {7, "ブロッコリー", "野菜", 906200, #2018-7-11#, "オーストラリア"}, {8, "バナナ", "果物", 690600, #2018-7-16#, "フィリピン"}, {9, "りんご", "果物", 241700, #2018-7-16#, "日本"}, {10, "りんご", "果物", 743100, #2018-7-16#, "カナダ"}, {11, "バナナ", "果物", 825000, #2018-7-16#, "ドイツ"}, {12, "ブロッコリー", "野菜", 701200, #2018-7-18#, "アメリカ"}, {13, "にんじん", "野菜", 190300, #2018-7-20#, "ドイツ"}, {14, "ブロッコリー", "野菜", 282400, #2018-7-22#, "カナダ"}, {15, "りんご", "果物", 694600, #2018-7-24#, "日本"} } Dim worksheet As IWorksheet = workbook.Worksheets(0) worksheet.Range("J1:O16").Value = sourceData worksheet.Range("J:O").ColumnWidth = 15 Dim pivotcache As IPivotCache = workbook.PivotCaches.Create(worksheet.Range("J1:O16")) Dim worksheet2 As IWorksheet = workbook.Worksheets.Add() Dim pivottable As IPivotTable = worksheet2.PivotTables.Add(pivotcache, worksheet2.Range("A1"), "pivottable1") worksheet.Range("L1:L16").NumberFormat = "\\#,##0" ' ピボットテーブルのフィールドを設定 Dim field_Category As IPivotField = pivottable.PivotFields("カテゴリ") field_Category.Orientation = PivotFieldOrientation.ColumnField Dim field_Country As IPivotField = pivottable.PivotFields("産地") field_Country.Orientation = PivotFieldOrientation.RowField Dim field_Amount As IPivotField = pivottable.PivotFields("金額") field_Amount.Orientation = PivotFieldOrientation.DataField field_Amount.NumberFormat = "\\#,##0" Dim field_Date As IPivotField = pivottable.PivotFields("日付") field_Date.Orientation = PivotFieldOrientation.PageField Dim field_Product As IPivotField = pivottable.PivotFields("商品") field_Product.Orientation = PivotFieldOrientation.RowField worksheet2.[Select]() worksheet2.Range("A:D").EntireColumn.AutoFit() worksheet2.Range("F1").Value = "GETPIVOTDATA 関数および IRange.GenerateGetPivotDataFunction() メソッドの使用方法" worksheet2.Range("F3").Value = "アメリカ産の果物「バナナ」の金額を返します。" worksheet2.Range("F4").Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。" worksheet2.Range("F5").Value = worksheet2.Range("B8").GenerateGetPivotDataFunction() worksheet2.Range("F6").Formula = worksheet2.Range("B8").GenerateGetPivotDataFunction() worksheet2.Range("F8").Value = "カナダ産の果物の合計金額を返します。" worksheet2.Range("F9").Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。" worksheet2.Range("F10").Value = worksheet2.Range("B14").GenerateGetPivotDataFunction() worksheet2.Range("F11").Formula = worksheet2.Range("B14").GenerateGetPivotDataFunction() worksheet2.Range("F13").Value = "オーストラリア産の野菜「ブロッコリー」の金額を返します。" worksheet2.Range("F14").Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。" worksheet2.Range("F15").Value = worksheet2.Range("C13").GenerateGetPivotDataFunction() worksheet2.Range("F16").Formula = worksheet2.Range("C13").GenerateGetPivotDataFunction() worksheet2.Range("F18").Value = "ドイツ産の全商品の総計を返します。" worksheet2.Range("F19").Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。" worksheet2.Range("F20").Value = worksheet2.Range("D18").GenerateGetPivotDataFunction() worksheet2.Range("F21").Formula = worksheet2.Range("D18").GenerateGetPivotDataFunction() worksheet2.Range("F23").Value = "全ての産地の野菜の総計を返します。" worksheet2.Range("F24").Value = "IRange.GenerateGetPivotDataFunction() を使用して、対応する関数を生成します。" worksheet2.Range("F25").Value = worksheet2.Range("C26").GenerateGetPivotDataFunction() worksheet2.Range("F26").Formula = worksheet2.Range("C26").GenerateGetPivotDataFunction() worksheet2.Range("F28").Value = "アメリカ/カナダ産の野菜「バナナ」「ブロッコリー」の金額を返します。" worksheet2.Range("F29").Value = "=GETPIVOTDATA(""金額"",$A$3,""商品"",A15:A16,""カテゴリ"",""野菜"",""産地"",{""アメリカ"",""カナダ""})" worksheet2.Range("F30").Formula2 = "=GETPIVOTDATA(""金額"",$A$3,""商品"",A15:A16,""カテゴリ"",""野菜"",""産地"",{""アメリカ"",""カナダ""})" worksheet2.Range("F1, F3, F4, F8, F9, F13, F14, F18, F19, F23, F24, F28").Font.Bold = True worksheet2.Range("F5, F10, F15, F20, F25, F29").Font.Color = Color.DarkRed worksheet2.Range("F6, F11, F16, F21, F26, F30:G31").HorizontalAlignment = HorizontalAlignment.Left ' xlsx ファイルに保存 workbook.Save("GetPivotDataFunction.xlsx")