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