Microsoft Excelファイルのテーブルを作成および管理する

テーブルの作成

スプレッドシートの利点の1つは、電話リスト、タスクリスト、取引のリスト、資産リスト、負債リストなど、さまざまなタイプのリストを作成できることです。複数のユーザーが協力して、さまざまなリストを利用、作成、維持することができます。

Aspose.Cellsはリストの作成と管理をサポートしています。

リストオブジェクトの利点

実際のリストオブジェクトにデータのリストを変換するときの利点はいくつかあります。

  • 新しい行や列が自動的に含まれます。
  • リストの最下部に合計、平均、カウントなどを表示するために総合行を簡単に追加できます。
  • 右に追加された列は自動的にリストオブジェクトに取り込まれます。
  • 行と列に基づくチャートは自動的に拡張されます。
  • 行と列に割り当てられた名前付き範囲は自動的に拡張されます。
  • リストは誤って行や列が削除されないように保護されています。

Microsoft Excelを使用してリストオブジェクトを作成する

リストオブジェクトを作成するためのデータ範囲を選択

  • これはリスト作成ダイアログを表示します。
  • データオブジェクトを実装し、合計行を指定します(データリスト合計行の順に選択)。

Aspose.Cells APIを使用する

Aspose.Cellsは、Microsoft Excelファイルを表すWorkbookクラスを提供します。 Workbookクラスには、Excelファイルの各ワークシートにアクセスできるWorksheetsコレクションが含まれています。

ワークシートはWorksheet クラスで表されます。Worksheet クラスはワークシートの管理に幅広いプロパティとメソッドを提供します。ワークシートにListObject を作成するには、Worksheet クラスのListObjects コレクションプロパティを使用します。それぞれのListObject は実際にはListObjectCollection クラスのオブジェクトであり、さらにリストオブジェクトを追加し、リストに含まれるセルの範囲を指定するAdd メソッドを提供しています。

Aspose.Cellsによって指定されたセル範囲に基づいて、リストオブジェクトが作成されます。 ListObject クラスの属性(例:ShowTotalsListColumnsなど)を使用して、リストを制御します。

以下の例では、上のセクションでMicrosoft Excelを使用して作成したものと同じListObjectをAspose.Cells APIを使用して作成しています。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create a Workbook object.
// Open a template excel file.
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Get the List objects collection in the first worksheet.
Aspose.Cells.Tables.ListObjectCollection listObjects = workbook.Worksheets[0].ListObjects;
// Add a List based on the data source range with headers on.
listObjects.Add(1, 1, 7, 5, true);
// Show the total row for the List.
listObjects[0].ShowTotals = true;
// Calculate the total of the last (5th ) list column.
listObjects[0].ListColumns[4].TotalsCalculation = Aspose.Cells.Tables.TotalsCalculation.Sum;
// Save the excel file.
workbook.Save(dataDir + "output.xls");

表の書式設定

関連するデータのグループを管理および分析するには、セル範囲をリストオブジェクト(またはExcelテーブルとも呼ばれる)に変換することができます。 テーブルは、他の行や列のデータから独立して管理される関連データを含む行と列のシリーズです。 テーブルの各列には、ヘッダー行でフィルタリングが有効になっており、リストオブジェクトデータを迅速にフィルタリングまたは並べ替えることができます。 リストオブジェクトには特別な行(数値データで作業するために有用な集計関数の選択を提供するリスト内の特別な行)を追加することができます。 Aspose.Cellsには、リスト(またはテーブル)の作成と管理のためのオプションが用意されています。

リストオブジェクトの書式設定

Aspose.Cellsは、Microsoft Excelファイルを表すWorkbookクラスを提供します。 Workbookクラスには、Excelファイルの各ワークシートにアクセスできるWorksheetsコレクションが含まれています。

ワークシートは Worksheet クラスで表されます。Worksheet クラスはワークシートの管理に幅広いプロパティとメソッドを提供します。ワークシートにListObject を作成するには、Worksheet クラスのListObjects コレクションプロパティを使用します。それぞれのListObject は実際にはListObjectCollection クラスのオブジェクトであり、さらにリストオブジェクトを追加し、それが含むべきセルの範囲を指定するAdd メソッドを提供しています。指定されたセル範囲に基づいて、Aspose.Cellsによってワークシートに ListObject が作成されます。 ListObject クラスの属性(例:TableStyleType)を使用して、テーブルの形式をあなたの要件に合わせます。

以下の例では、ワークシートにサンプルデータを追加し、ListObjectを追加し、デフォルトのスタイルを適用します。マイクロソフトエクセル2007/2010でListObjectのスタイルがサポートされています。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Create a workbook.
Workbook workbook = new Workbook();
// Obtaining the reference of the default(first) worksheet
Worksheet sheet = workbook.Worksheets[0];
// Obtaining Worksheet's cells collection
Cells cells = sheet.Cells;
// Setting the value to the cells
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Employee");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Product");
cell = cells["D1"];
cell.PutValue("Continent");
cell = cells["E1"];
cell.PutValue("Country");
cell = cells["F1"];
cell.PutValue("Sale");
cell = cells["A2"];
cell.PutValue("David");
cell = cells["A3"];
cell.PutValue("David");
cell = cells["A4"];
cell.PutValue("David");
cell = cells["A5"];
cell.PutValue("David");
cell = cells["A6"];
cell.PutValue("James");
cell = cells["A7"];
cell.PutValue("James");
cell = cells["A8"];
cell.PutValue("James");
cell = cells["A9"];
cell.PutValue("James");
cell = cells["A10"];
cell.PutValue("James");
cell = cells["A11"];
cell.PutValue("Miya");
cell = cells["A12"];
cell.PutValue("Miya");
cell = cells["A13"];
cell.PutValue("Miya");
cell = cells["A14"];
cell.PutValue("Miya");
cell = cells["A15"];
cell.PutValue("Miya");
cell = cells["B2"];
cell.PutValue(1);
cell = cells["B3"];
cell.PutValue(2);
cell = cells["B4"];
cell.PutValue(3);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(1);
cell = cells["B7"];
cell.PutValue(2);
cell = cells["B8"];
cell.PutValue(3);
cell = cells["B9"];
cell.PutValue(4);
cell = cells["B10"];
cell.PutValue(4);
cell = cells["B11"];
cell.PutValue(1);
cell = cells["B12"];
cell.PutValue(1);
cell = cells["B13"];
cell.PutValue(2);
cell = cells["B14"];
cell.PutValue(2);
cell = cells["B15"];
cell.PutValue(2);
cell = cells["C2"];
cell.PutValue("Maxilaku");
cell = cells["C3"];
cell.PutValue("Maxilaku");
cell = cells["C4"];
cell.PutValue("Chai");
cell = cells["C5"];
cell.PutValue("Maxilaku");
cell = cells["C6"];
cell.PutValue("Chang");
cell = cells["C7"];
cell.PutValue("Chang");
cell = cells["C8"];
cell.PutValue("Chang");
cell = cells["C9"];
cell.PutValue("Chang");
cell = cells["C10"];
cell.PutValue("Chang");
cell = cells["C11"];
cell.PutValue("Geitost");
cell = cells["C12"];
cell.PutValue("Chai");
cell = cells["C13"];
cell.PutValue("Geitost");
cell = cells["C14"];
cell.PutValue("Geitost");
cell = cells["C15"];
cell.PutValue("Geitost");
cell = cells["D2"];
cell.PutValue("Asia");
cell = cells["D3"];
cell.PutValue("Asia");
cell = cells["D4"];
cell.PutValue("Asia");
cell = cells["D5"];
cell.PutValue("Asia");
cell = cells["D6"];
cell.PutValue("Europe");
cell = cells["D7"];
cell.PutValue("Europe");
cell = cells["D8"];
cell.PutValue("Europe");
cell = cells["D9"];
cell.PutValue("Europe");
cell = cells["D10"];
cell.PutValue("Europe");
cell = cells["D11"];
cell.PutValue("America");
cell = cells["D12"];
cell.PutValue("America");
cell = cells["D13"];
cell.PutValue("America");
cell = cells["D14"];
cell.PutValue("America");
cell = cells["D15"];
cell.PutValue("America");
cell = cells["E2"];
cell.PutValue("China");
cell = cells["E3"];
cell.PutValue("India");
cell = cells["E4"];
cell.PutValue("Korea");
cell = cells["E5"];
cell.PutValue("India");
cell = cells["E6"];
cell.PutValue("France");
cell = cells["E7"];
cell.PutValue("France");
cell = cells["E8"];
cell.PutValue("Germany");
cell = cells["E9"];
cell.PutValue("Italy");
cell = cells["E10"];
cell.PutValue("France");
cell = cells["E11"];
cell.PutValue("U.S.");
cell = cells["E12"];
cell.PutValue("U.S.");
cell = cells["E13"];
cell.PutValue("Brazil");
cell = cells["E14"];
cell.PutValue("U.S.");
cell = cells["E15"];
cell.PutValue("U.S.");
cell = cells["F2"];
cell.PutValue(2000);
cell = cells["F3"];
cell.PutValue(500);
cell = cells["F4"];
cell.PutValue(1200);
cell = cells["F5"];
cell.PutValue(1500);
cell = cells["F6"];
cell.PutValue(500);
cell = cells["F7"];
cell.PutValue(1500);
cell = cells["F8"];
cell.PutValue(800);
cell = cells["F9"];
cell.PutValue(900);
cell = cells["F10"];
cell.PutValue(500);
cell = cells["F11"];
cell.PutValue(1600);
cell = cells["F12"];
cell.PutValue(600);
cell = cells["F13"];
cell.PutValue(2000);
cell = cells["F14"];
cell.PutValue(500);
cell = cells["F15"];
cell.PutValue(900);
// Adding a new List Object to the worksheet
Aspose.Cells.Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F15", true)];
// Adding Default Style to the table
listObject.TableStyleType = Aspose.Cells.Tables.TableStyleType.TableStyleMedium10;
// Show Total
listObject.ShowTotals = true;
// Set the Quarter field's calculation type
listObject.ListColumns[1].TotalsCalculation = Aspose.Cells.Tables.TotalsCalculation.Count;
// Saving the Excel file
workbook.Save(dataDir + "output.xlsx");

高度なトピック