表の作成と書式設定
テーブルの作成
スプレッドシートの利点の1つは、電話リスト、タスクリスト、取引のリスト、資産リスト、負債リストなど、さまざまなタイプのリストを作成できることです。複数のユーザーが協力して、さまざまなリストを利用、作成、維持することができます。
Aspose.Cellsはリストの作成と管理をサポートしています。
リストオブジェクトの利点
実際のリストオブジェクトにデータのリストを変換するときの利点はいくつかあります。
- 新しい行や列が自動的に含まれます。
- リストの最下部に合計、平均、カウントなどを表示するために総合行を簡単に追加できます。
- 右に追加された列は自動的にリストオブジェクトに取り込まれます。
- 行と列に基づくチャートは自動的に拡張されます。
- 行と列に割り当てられた名前付き範囲は自動的に拡張されます。
- リストは誤って行や列が削除されないように保護されています。
Microsoft Excelを使用してリストオブジェクトを作成する
リストオブジェクトを作成するためのデータ範囲の選択 |
---|
![]() |
これにより、リストの作成ダイアログが表示されます。 |
リストを作成するダイアログ |
---|
![]() |
データを指定してリストオブジェクトを実装し、合計行を指定します(データを選択し、リスト、その後合計行を選択します)。 |
リストオブジェクトを作成する |
---|
![]() |
Aspose.Cells APIを使用する
Aspose.Cellsは、Microsoft Excelファイルを表すWorkbook クラスを提供します。Workbook クラスには、Excelファイル内の各ワークシートにアクセスを可能にするWorksheets コレクションが含まれています。
Worksheet クラスでワークシートが表されます。Worksheet クラスには、ワークシートを管理するための多くのメソッドが提供されています。ワークシート内にListObject を作成するには、Worksheet クラスのGetListObjects コレクションメソッドを使用します。各[ListObject]
は実際には、さらにAdd メソッドを提供するWorksheet クラスのListObjectCollection クラスのオブジェクトであり、リストのセルの範囲を指定します。
指定されたセル範囲に従って、Aspose.Cellsによって[ListObject]
オブジェクトが作成されます。リストの操作には、[ListObject]
クラスの属性(たとえばSetShowTotalsやGetListColumnsなど)を使用します。
以下の例では、前述の手順でMicrosoft Excelを使用して作成したリストオブジェクトと同じ[ListObject]
をAspose.Cells APIを使用して作成しています。
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
// Instantiate a Workbook object and open an Excel file | |
Workbook workbook(dirPath + u"book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Get the List objects collection in the first worksheet. | |
ListObjectCollection listObjects = worksheet.GetListObjects(); | |
// 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.Get(0).SetShowTotals(true); | |
// Saving the Excel file | |
workbook.Save(outPath + u"CreatingListObjects_out.xls"); | |
Aspose::Cells::Cleanup(); |
表の書式設定
関連データのグループを管理および分析するには、セルの範囲をリストオブジェクト(またはExcelテーブルとも呼ばれる)に変換することが可能です。表は、関連データを含む行と列の系列であり、他の行や列のデータとは独立して管理されます。デフォルトでは、表の各列には、ヘッダー行でフィルタリングが有効になっているため、リストオブジェクトデータを素早くフィルタリングまたはソートできます。リストオブジェクトには、数値データで作業するために有用な集計関数の選択肢を提供する合計行(リスト内の特別な行)を追加できます。Aspose.Cellsでは、リスト(またはテーブル)を作成および管理するためのオプションが提供されます。
リストオブジェクトの書式設定
Aspose.Cellsは、Microsoft Excelファイルを表すWorkbook クラスを提供します。Workbook クラスには、Excelファイル内の各ワークシートにアクセスを可能にするWorksheets コレクションが含まれています。
Worksheet クラスでワークシートが表されます。Worksheet クラスには、ワークシートを管理するための多くのメソッドが提供されています。ワークシート内にListObjectを作成するには、ListObjectCollection
を使用します。それぞれの[ListObject]
は実際には、さらにListObjectCollection
クラスのAdd
(https://reference.aspose.com/cells/cpp/aspose.cells.tables/listobjectcollection/add/) メソッドを提供する[ListObject]
オブジェクトを追加し、それが包括すべきセルの範囲を指定します。指定されたセルの範囲に応じて、Aspose.Cellsはワークシート内にListObjectを作成します。リストの書式設定には、[ListObject]
クラスの属性(たとえばSetTableStyleType)を使用します。
以下の例では、ワークシートにサンプルデータを追加し、[ListObject]
を追加し、デフォルトのスタイルを適用しています。[ListObject]
のスタイルはMicrosoft Excel 2007/2010でサポートされています。
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
// Instantiate a Workbook object | |
Workbook workbook; | |
// Obtaining the reference of the default(first) worksheet | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Obtaining Worksheet's cells collection | |
Cells cells = worksheet.GetCells(); | |
// Setting the value to the cells | |
cells.Get(u"A1").PutValue(u"Employee"); | |
cells.Get(u"B1").PutValue(u"Quarter"); | |
cells.Get(u"C1").PutValue(u"Product"); | |
cells.Get(u"D1").PutValue(u"Continent"); | |
cells.Get(u"E1").PutValue(u"Country"); | |
cells.Get(u"F1").PutValue(u"Sale"); | |
cells.Get(u"A2").PutValue(u"David"); | |
cells.Get(u"A3").PutValue(u"David"); | |
cells.Get(u"A4").PutValue(u"David"); | |
cells.Get(u"A5").PutValue(u"David"); | |
cells.Get(u"A6").PutValue(u"James"); | |
cells.Get(u"A7").PutValue(u"James"); | |
cells.Get(u"A8").PutValue(u"James"); | |
cells.Get(u"A9").PutValue(u"James"); | |
cells.Get(u"A10").PutValue(u"James"); | |
cells.Get(u"A11").PutValue(u"Miya"); | |
cells.Get(u"A12").PutValue(u"Miya"); | |
cells.Get(u"A13").PutValue(u"Miya"); | |
cells.Get(u"A14").PutValue(u"Miya"); | |
cells.Get(u"A15").PutValue(u"Miya"); | |
cells.Get(u"B2").PutValue(1); | |
cells.Get(u"B3").PutValue(2); | |
cells.Get(u"B4").PutValue(3); | |
cells.Get(u"B5").PutValue(4); | |
cells.Get(u"B6").PutValue(1); | |
cells.Get(u"B7").PutValue(2); | |
cells.Get(u"B8").PutValue(3); | |
cells.Get(u"B9").PutValue(4); | |
cells.Get(u"B10").PutValue(4); | |
cells.Get(u"B11").PutValue(1); | |
cells.Get(u"B12").PutValue(1); | |
cells.Get(u"B13").PutValue(2); | |
cells.Get(u"B14").PutValue(2); | |
cells.Get(u"B15").PutValue(2); | |
cells.Get(u"C2").PutValue(u"Maxilaku"); | |
cells.Get(u"C3").PutValue(u"Maxilaku"); | |
cells.Get(u"C4").PutValue(u"Chai"); | |
cells.Get(u"C5").PutValue(u"Maxilaku"); | |
cells.Get(u"C6").PutValue(u"Chang"); | |
cells.Get(u"C7").PutValue(u"Chang"); | |
cells.Get(u"C8").PutValue(u"Chang"); | |
cells.Get(u"C9").PutValue(u"Chang"); | |
cells.Get(u"C10").PutValue(u"Chang"); | |
cells.Get(u"C11").PutValue(u"Geitost"); | |
cells.Get(u"C12").PutValue(u"Chai"); | |
cells.Get(u"C13").PutValue(u"Geitost"); | |
cells.Get(u"C14").PutValue(u"Geitost"); | |
cells.Get(u"C15").PutValue(u"Geitost"); | |
cells.Get(u"D2").PutValue(u"Asia"); | |
cells.Get(u"D3").PutValue(u"Asia"); | |
cells.Get(u"D4").PutValue(u"Asia"); | |
cells.Get(u"D5").PutValue(u"Asia"); | |
cells.Get(u"D6").PutValue(u"Europe"); | |
cells.Get(u"D7").PutValue(u"Europe"); | |
cells.Get(u"D8").PutValue(u"Europe"); | |
cells.Get(u"D9").PutValue(u"Europe"); | |
cells.Get(u"D10").PutValue(u"Europe"); | |
cells.Get(u"D11").PutValue(u"America"); | |
cells.Get(u"D12").PutValue(u"America"); | |
cells.Get(u"D13").PutValue(u"America"); | |
cells.Get(u"D14").PutValue(u"America"); | |
cells.Get(u"D15").PutValue(u"America"); | |
cells.Get(u"E2").PutValue(u"China"); | |
cells.Get(u"E3").PutValue(u"India"); | |
cells.Get(u"E4").PutValue(u"Korea"); | |
cells.Get(u"E5").PutValue(u"India"); | |
cells.Get(u"E6").PutValue(u"France"); | |
cells.Get(u"E7").PutValue(u"France"); | |
cells.Get(u"E8").PutValue(u"Germany"); | |
cells.Get(u"E9").PutValue(u"Italy"); | |
cells.Get(u"E10").PutValue(u"France"); | |
cells.Get(u"E11").PutValue(u"U.S."); | |
cells.Get(u"E12").PutValue(u"U.S."); | |
cells.Get(u"E13").PutValue(u"Brazil"); | |
cells.Get(u"E14").PutValue(u"U.S."); | |
cells.Get(u"E15").PutValue(u"U.S."); | |
cells.Get(u"F2").PutValue(2000); | |
cells.Get(u"F3").PutValue(500); | |
cells.Get(u"F4").PutValue(1200); | |
cells.Get(u"F5").PutValue(1500); | |
cells.Get(u"F6").PutValue(500); | |
cells.Get(u"F7").PutValue(1500); | |
cells.Get(u"F8").PutValue(800); | |
cells.Get(u"F9").PutValue(900); | |
cells.Get(u"F10").PutValue(500); | |
cells.Get(u"F11").PutValue(1600); | |
cells.Get(u"F12").PutValue(600); | |
cells.Get(u"F13").PutValue(2000); | |
cells.Get(u"F14").PutValue(500); | |
cells.Get(u"F15").PutValue(900); | |
// Adding a new List Object to the worksheet | |
worksheet.GetListObjects().Add(u"A1", u"F15", true); | |
ListObject listObject = worksheet.GetListObjects().Get(0); | |
// Adding Default Style to the table | |
listObject.SetTableStyleType(TableStyleType::TableStyleMedium10); | |
// Show Total | |
listObject.SetShowTotals(true); | |
// Saving the Excel file | |
workbook.Save(outPath + u"FormatTable_out.xlsx"); | |
Aspose::Cells::Cleanup(); |