创建和格式化表

创建表

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

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

列表对象的优点

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

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

在 Microsoft Excel 中创建列表对象

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

使用 Aspose.Cells API

Aspose.Cells提供Workbook类,其包含Worksheets集合,可访问Excel文件中的所有工作表。

工作表由Worksheet类表示。它提供管理工作表的多种方法。要在工作表中创建ListObject ,使用GetListObjects方法,该方法返回WorksheetListObjectCollection,可以调用其Add方法添加[ListObject],并指定范围。

根据指定的单元格范围,Aspose.Cells会创建[ListObject]对象。可通过[ListObject]类的属性(例如SetShowTotalsGetListColumns)控制表格。

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

workbook, _ := NewWorkbook_String("book1.xls")
worksheets, _ := workbook.GetWorksheets()
worksheet, _ := worksheets.Get_Int(0)
listObjects, _ := worksheet.GetListObjects()
index, _ := listObjects.Add_Int_Int_Int_Int_Bool(1, 1, 7, 5, true)
listObject, _ := listObjects.Get_Int(index)
listObject.SetTableStyleType(TableStyleType_TableStyleMedium10)
listObject.SetShowTotals(true)
workbook.Save_String("CreatingListObjects_out.xlsx")

格式化表

要管理和分析一组相关数据,可以将一系列单元格转换为列表对象(也称为Excel表)。表是包含相关数据的一系列行和列,可独立于其他行和列中的数据进行管理。默认情况下,表中的每一列都在标题行中启用了筛选,因此您可以快速筛选或排序列表对象数据。您可以为列表对象添加一个总行(列表中提供一系列聚合函数的特殊行,对于处理数值数据非常有用),用于为列表对象的每个总行单元格提供聚合函数的下拉列表。Aspose.Cells提供了创建和管理列表(或表)的选项。

格式化列表对象

Aspose.Cells提供Workbook类,其包含Worksheets集合,可访问Excel文件中的所有工作表。

工作表由Worksheet类表示。它提供多种方法管理工作表。要在工作表中创建[ListObject],使用[ListObjectCollection]。每个[ListObject]实际上是[ListObjectCollection]类的对象,可以调用其Add方法,添加[ListObject]对象并指定应包含的单元格范围。根据所指定的单元格范围,Aspose.Cells 会在工作表中创建[ListObject],并用[ListObject]类的属性(例如SetTableStyleType)来格式化表格以满足需求。

以下示例将示例数据添加到工作表,添加了[ListObject]并应用了默认样式。[ListObject]样式由Microsoft Excel 2007/2010支持。

workbook, _ := NewWorkbook()
worksheets, _ := workbook.GetWorksheets()
worksheet, _ := worksheets.Get_Int(0)
cells, _ := worksheet.GetCells()
set_cell_string_value(cells, "A1", "Employee")
set_cell_string_value(cells, "B1", "Quarter")
set_cell_string_value(cells, "C1", "Product")
set_cell_string_value(cells, "D1", "Continent")
set_cell_string_value(cells, "E1", "Country")
set_cell_string_value(cells, "F1", "Sale")
set_cell_string_value(cells, "A2", "David")
set_cell_string_value(cells, "A3", "David")
set_cell_string_value(cells, "A4", "David")
set_cell_string_value(cells, "A5", "David")
set_cell_string_value(cells, "A6", "James")
set_cell_string_value(cells, "A7", "James")
set_cell_string_value(cells, "A8", "James")
set_cell_string_value(cells, "A9", "James")
set_cell_string_value(cells, "A10", "James")
set_cell_string_value(cells, "A11", "Miya")
set_cell_string_value(cells, "A12", "Miya")
set_cell_string_value(cells, "A13", "Miya")
set_cell_string_value(cells, "A14", "Miya")
set_cell_string_value(cells, "A15", "Miya")
set_cell_int_value(cells, "B2", 1)
set_cell_int_value(cells, "B3", 2)
set_cell_int_value(cells, "B4", 3)
set_cell_int_value(cells, "B5", 4)
set_cell_int_value(cells, "B6", 1)
set_cell_int_value(cells, "B7", 2)
set_cell_int_value(cells, "B8", 3)
set_cell_int_value(cells, "B9", 4)
set_cell_int_value(cells, "B10", 4)
set_cell_int_value(cells, "B11", 1)
set_cell_int_value(cells, "B12", 1)
set_cell_int_value(cells, "B13", 2)
set_cell_int_value(cells, "B14", 2)
set_cell_int_value(cells, "B15", 2)
set_cell_string_value(cells, "C2", "Maxilaku")
set_cell_string_value(cells, "C3", "Maxilaku")
set_cell_string_value(cells, "C4", "Chai")
set_cell_string_value(cells, "C5", "Maxilaku")
set_cell_string_value(cells, "C6", "Chang")
set_cell_string_value(cells, "C7", "Chang")
set_cell_string_value(cells, "C8", "Chang")
set_cell_string_value(cells, "C9", "Chang")
set_cell_string_value(cells, "C10", "Chang")
set_cell_string_value(cells, "C11", "Geitost")
set_cell_string_value(cells, "C12", "Chai")
set_cell_string_value(cells, "C13", "Geitost")
set_cell_string_value(cells, "C14", "Geitost")
set_cell_string_value(cells, "C15", "Geitost")
set_cell_string_value(cells, "D2", "Asia")
set_cell_string_value(cells, "D3", "Asia")
set_cell_string_value(cells, "D4", "Asia")
set_cell_string_value(cells, "D5", "Asia")
set_cell_string_value(cells, "D6", "Europe")
set_cell_string_value(cells, "D7", "Europe")
set_cell_string_value(cells, "D8", "Europe")
set_cell_string_value(cells, "D9", "Europe")
set_cell_string_value(cells, "D10", "Europe")
set_cell_string_value(cells, "D11", "America")
set_cell_string_value(cells, "D12", "America")
set_cell_string_value(cells, "D13", "America")
set_cell_string_value(cells, "D14", "America")
set_cell_string_value(cells, "D15", "America")
set_cell_string_value(cells, "E2", "China")
set_cell_string_value(cells, "E3", "India")
set_cell_string_value(cells, "E4", "Korea")
set_cell_string_value(cells, "E5", "India")
set_cell_string_value(cells, "E6", "France")
set_cell_string_value(cells, "E7", "France")
set_cell_string_value(cells, "E8", "Germany")
set_cell_string_value(cells, "E9", "Italy")
set_cell_string_value(cells, "E10", "France")
set_cell_string_value(cells, "E11", "U.S.")
set_cell_string_value(cells, "E12", "U.S.")
set_cell_string_value(cells, "E13", "Brazil")
set_cell_string_value(cells, "E14", "U.S.")
set_cell_string_value(cells, "E15", "U.S.")
set_cell_int_value(cells, "F2", 2000)
set_cell_int_value(cells, "F3", 500)
set_cell_int_value(cells, "F4", 1200)
set_cell_int_value(cells, "F5", 1500)
set_cell_int_value(cells, "F6", 500)
set_cell_int_value(cells, "F7", 1500)
set_cell_int_value(cells, "F8", 800)
set_cell_int_value(cells, "F9", 900)
set_cell_int_value(cells, "F10", 500)
set_cell_int_value(cells, "F11", 1600)
set_cell_int_value(cells, "F12", 600)
set_cell_int_value(cells, "F13", 2000)
set_cell_int_value(cells, "F14", 500)
set_cell_int_value(cells, "F15", 900)
listObjects, _ := worksheet.GetListObjects()
index, _ := listObjects.Add_String_String_Bool("A1", "F15", true)
listObject, _ := listObjects.Get_Int(index)
listObject.SetShowHeaderRow(true)
listObject.SetTableStyleType(TableStyleType_TableStyleMedium10)
listObject.SetShowTotals(true)
workbook.Save_String("FormatTable_out.xlsx")
func set_cell_int_value(cells *Cells, cell_name string, value int32) {
cell, _ := cells.Get_String(cell_name)
cell.PutValue_Int(value)
}
func set_cell_string_value(cells *Cells, cell_name string, value string) {
cell, _ := cells.Get_String(cell_name)
cell.PutValue_String(value)
}