Excel管理控件Aspose.Cells亮点功能教程——在C#中以编程方式创建MS Excel文件

翻译|使用教程|编辑:李显亮|2020-01-22 14:19:12.873|阅读 18 次

概述:在本文中,您将学习如何在C#中以编程方式创建MS Excel(XLS或XLSX)文件,而无需安装MS Office。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

Aspose.Cells for .NET是Excel电子表格编程API,可加快电子表格管理和处理任务,支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。

如今,电子表格已成为保存,组织和分析数据的重要组成部分。电子表格(例如MS Excel)能够进行计算和排序,生成图形或图表,创建预算以及执行许多其他会计或数据分析任务。由于如今自动化解决方案的业务量越来越大,因此创建和处理Excel文档(XLS / XLSX)的趋势已经出现并以惊人的速度增长。

在本文中,您将学习如何在C#中以编程方式创建MS Excel(XLS或XLSX)文件,而无需安装MS Office。通过本文将学习如何:

  • 使用C#动态创建Excel(XLS或XLSX)文件
  • 使用C#将数据写入现有的Excel文件
  • 使用C#在Excel文件中创建图表或图形
  • 使用C#在Excel文件中创建表格

如果你还没有使用过Aspose.Cells,可以点击此处下载最新版体验。

在C#中创建Excel文件(XLS或XLSX)

Excel文件也称为工作簿,由单个或多个工作表组成,这些工作表包含用于保存数据的行和列。因此,工作簿充当Excel文件中工作表的容器。因此,为了创建Excel文件,您将首先创建一个工作簿,然后创建该工作簿中的工作表。以下是使用Aspose.Cells for .NET创建Excel文件的步骤。

  • 创建一个Workbook类的实例。
  • 访问工作簿的第一个工作表(默认情况下创建)。
  • 访问工作表的所需单元格,然后将值放在单元格中。
  • 将工作簿另存为XLS或XLSX文件。

下面的代码示例演示如何使用C#创建Excel XLSX文件。

// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();

// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets[0];

// Access the "A1" cell in the sheet.
Cell cell = sheet.Cells["A1"];

// Input the "Hello World!" text into the "A1" cell.
cell.PutValue("Hello World!");

// Save the Excel as .xlsx file.
wb.Save("Excel.xlsx", SaveFormat.Xlsx);

输出结果

Excel管理控件Aspose.Cells亮点功能教程——在Excel中创建数据透视表并排序或隐藏数据

使用C#将数据写入Excel XLSX文件

如果要编辑数据并将其写入现有Excel文件,也可以用类似的方式进行。只需使用Workbook对象加载源Excel电子表格文档,然后访问所需的工作表和单元格。以下是编辑现有Excel文件的步骤。

  • 在FileStream对象中打开Excel文件。
  • 创建一个Workbook实例,并使用FileStream对象对其进行初始化。
  • 分别使用Worksheet和Cell类访问工作表和单元格。
  • 将工作簿另存为Excel .xlsx文件。

下面的代码示例演示如何在C#中将数据编辑和写入现有Excel XLSX文件。

// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook("Excel.xlsx");

// Access "Sheet1" from the workbook.
Worksheet sheet = wb.Worksheets[0];

// Access the "A1" cell in the sheet.
Cell cell = sheet.Cells["A1"];

// Input the "Hello World!" text into the "A1" cell.
cell.PutValue("The cell's value is updated.");

// Save the Excel file as .xlsx.
wb.Save("Excel_updated.xlsx", SaveFormat.Xlsx);

使用C#在Excel XLSX文件中创建图表或图形

Excel电子表格提供了一种使用图形和图表直观地分析或呈现数据的好方法。.NET的Aspose.Cells提供了完整的类集,可以在Excel电子表格中创建和处理各种图表,其中每个类都用于执行某些特定任务。为了在Excel文件中创建图表,您必须执行以下步骤:

  • 通过访问工作表的单元格将一些数据(用作数据源)添加到工作表中。
  • 通过使用ChartType枚举传递图表类型,使用Worksheet.Charts集合将新的图表对象添加到工作表中。
  • 从Chart对象的集合中获取新创建的图表。
  • 指定单元格的范围,以将数据源提供给图表对象。
  • 将工作簿另存为Excel .xlsx文件。

下面的代码示例演示如何在C#中的Excel XLSX文件中创建图表。

// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();

// Add a new worksheet to the Excel object.
int sheetIndex = wb.Worksheets.Add();

// Obtain the reference of the newly added worksheet by passing its sheet index.
Worksheet worksheet = wb.Worksheets[sheetIndex];

// Add dummy values to cells.
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);

// Add a chart to the worksheet.
int chartIndex = worksheet.Charts.Add(Charts.ChartType.Pyramid, 5, 0, 15, 5);

// Access the instance of the newly added chart.
Charts.Chart chart = worksheet.Charts[chartIndex];

// Add SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3".
chart.NSeries.Add("A1:B3", true);

// Save the Excel file.
wb.Save("Excel_Chart.xlsx", SaveFormat.Xlsx);

输出结果

Excel管理控件Aspose.Cells亮点功能教程——在Excel中创建数据透视表并排序或隐藏数据

在C#中的Excel XLSX文件中创建表

可以从Excel工作表中的单元格范围创建一个表,并为表中的总计(总和,计数等)添加一行。以下是使用Aspose.Cells for .NET在Excel(XLSX)文件中创建表的步骤:

  • 加载一个Excel工作簿或使用Workbook类创建一个新的工作簿。
  • 将数据添加到工作表的单元格。
  • 将一个新的ListObject添加到工作表。
  • 将ListObject.ShowTotals属性设置为true。
  • 计算总数并将工作簿另存为Excel .xlsx文件。

下面的代码示例演示如何在C#中的Excel工作表中创建表。

// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();

// Get the first worksheet.
Worksheet sheet = wb.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["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["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["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["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["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); 

// Adding a new List Object to the worksheet
Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F6", true)];

// Adding Default Style to the table
listObject.TableStyleType = Tables.TableStyleType.TableStyleMedium10;

// Show Total
listObject.ShowTotals = true;

// Set the Quarter field's calculation type
listObject.ListColumns[1].TotalsCalculation = Tables.TotalsCalculation.Count;

// Save the Excel file.
wb.Save("Excel_Table.xlsx", SaveFormat.Xlsx);

还想要更多吗?您可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时联系慧都客服,我们很高兴为您提供查询和咨询


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Aspose.Cells for .NET

专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。

在线
客服
在线
QQ
咨询
电话
177-4994-3557
购物车 反馈 返回
顶部
在线客服系统
live chat