创建和格式化表

创建表

电子表格的优点之一是它们允许您创建不同类型的列表,例如电话列表、任务列表、交易列表、资产或负债列表。多个用户可以共同使用、创建和维护各种列表。

Aspose.Cells支持创建和管理列表。

列表对象的优点

当您将数据列表转换为实际列表对象时,会有相当多的优点

  • 新行和列会自动包括在内。
  • 列表底部可以轻松添加总计行来显示求和、平均、计数等信息。
  • 添加在右侧的列会自动并入列表对象中。
  • 基于行和列的图表会自动扩展。
  • 分配给行和列的命名范围将自动扩展。 列表受到意外行和列删除的保护。

在 Microsoft Excel 中创建列表对象

选择用于创建列表对象的数据范围
todo:image_alt_text
这会显示创建列表对话框。
创建列表对话框
todo:image_alt_text
为数据实现列表对象并指定总行数(选择数据,然后选择列表,然后选择总行)。
创建列表对象
todo:image_alt_text

使用 Aspose.Cells API

Aspose.Cells提供了一个代表Microsoft Excel文件的Workbook类。Workbook类包含一个Worksheets集合,允许访问Excel文件中的每个工作表。

工作表由 Worksheet 类表示。 Worksheet 类提供了广泛的方法来管理工作表。要在工作表中创建一个ListObject,请使用Worksheet类的GetListObjects集合方法。 每个[ListObject]实际上是 ListObjectCollection 类的对象,它提供了Add方法,用于添加[ListObject]对象并指定列表的单元格范围。

根据指定的单元格范围,Aspose.Cells创建了[ListObject]对象。使用[ListObject]类的属性(例如SetShowTotalsGetListColumns等)来控制列表。

在下面的示例中,我们使用Aspose.Cells API创建了与上一节中使用Microsoft Excel创建的相同的[ListObject]

//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类包含一个Worksheets集合,允许访问Excel文件中的每个工作表。

Worksheet类表示工作表。Worksheet类提供了广泛的方法来管理工作表。要在工作表中创建ListObject,请使用ListObjectCollection。每个[ListObject]实际上是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();