创建和格式化表
创建表
电子表格的优点之一是它们允许您创建不同类型的列表,例如电话列表、任务列表、交易列表、资产或负债列表。多个用户可以共同使用、创建和维护各种列表。
Aspose.Cells支持创建和管理列表。
列表对象的优点
当您将数据列表转换为实际列表对象时,会有相当多的优点
- 新行和列会自动包括在内。
- 列表底部可以轻松添加总计行来显示求和、平均、计数等信息。
- 添加在右侧的列会自动并入列表对象中。
- 基于行和列的图表会自动扩展。
- 分配给行和列的命名范围将自动扩展。 列表受到意外行和列删除的保护。
在 Microsoft Excel 中创建列表对象
选择用于创建列表对象的数据范围 |
---|
![]() |
这会显示创建列表对话框。 |
创建列表对话框 |
---|
![]() |
为数据实现列表对象并指定总行数(选择数据,然后选择列表,然后选择总行)。 |
创建列表对象 |
---|
![]() |
使用 Aspose.Cells API
Aspose.Cells提供了一个代表Microsoft Excel文件的Workbook类。Workbook类包含一个Worksheets集合,允许访问Excel文件中的每个工作表。
工作表由 Worksheet 类表示。 Worksheet 类提供了广泛的方法来管理工作表。要在工作表中创建一个ListObject,请使用Worksheet类的GetListObjects集合方法。 每个[ListObject]
实际上是 ListObjectCollection 类的对象,它提供了Add方法,用于添加[ListObject]
对象并指定列表的单元格范围。
根据指定的单元格范围,Aspose.Cells创建了[ListObject]
对象。使用[ListObject]
类的属性(例如SetShowTotals和GetListColumns等)来控制列表。
在下面的示例中,我们使用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(); |