[]
有时,用户发现很难在同一工作表中同时容纳数据和图表。因此,GcExcel现在允许用户将图表添加到单独的工作表中,称为“图表表单”。与工作表不同,图表工作表只能包含图表。这有助于避免同一工作表中常见的数据和嵌入图表的混乱。此外,使用图表页,用户可以在打印时详细阅读图表并更改页面方向。
可以使用IWorksheets.Add(SheetType.Chart)方法在工作簿中创建图表表单。此外,还可以使用 IShapes.AddChart 方法将图表添加到图表工作表中。用户可能会注意到,每个图表页都应该有一个图表,否则在保存文件时会引发异常。
下表列出了GcExcel中与图表表相关的方法和属性:
方法/属性 | 描述 |
---|---|
Add(SheetType.Chart) | IWorksheets 接口中的 Add方法具有带有 'SheetType'的重载。 因此,要添加图表表单,需要使用 SheetType.Chart方法。 |
AddChart | IShapes 接口中的 AddChart 方法为图表表单添加一个图表。 注意: 每张图表表单都应该有一张图表。否则,它将在保存文件时引发异常。 |
AddShape | IChart 接口中的 AddShape 方法为图表页添加多个形状。支持的用户形状有形状、图表、图片、连接器等。 在这种情况下,第一个图表是主图表,保存文件时将丢弃其他形状。 |
SheetType | IWorksheet 接口中的SheetType属性获取当前工作表(工作表或图表工作表)的类型。 |
Delete | |
Copy | IWorksheet 接口中的 Copy 方法复制一个新的图表表单。 |
Move | IWorksheet 接口中的 Move 方法将图表工作表移动到当前工作簿或新工作簿中的新位置。 |
以下各节详细讨论工作簿中的图表表单操作。
要添加图表表单,请参阅以下代码:
private static Workbook AddChartSheet() {
// Initialize workbook
Workbook workbook = new Workbook();
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("A1:E5")
.setValue(new Object[][] {
{ "Region", "Q1", "Q2", "Q3", "Q4" },
{ "North", 100, 300, 200, 600 },
{ "East", 400, 200, 500, 800 },
{ "South", 300, 500, 100, 400 },
{ "West", 400, 200, 600, 100 }, });
// Add a Chart Sheet
IWorksheet chartSheet = workbook.getWorksheets().add(SheetType.Chart);
// Add the main chart for the chart sheet
IShape mainChart = chartSheet.getShapes().addChart(ChartType.ColumnClustered, 100, 100, 200, 200);
mainChart.getChart().getChartTitle().setText("Sales 2018-2019");
mainChart.getChart().getSeriesCollection().add(worksheet.getRange("A1:E5"));
// Add a user shape for the main chart.
IShape shape = mainChart.getChart().addShape(AutoShapeType.Rectangle, 50, 20, 100, 100);
shape.getTextFrame().getTextRange()
.add("This chart displays the regional quarterly sales for the year 2018-2019");
// Saving workbook to Xlsx
workbook.save("381-AddChartSheet.xlsx", SaveFileFormat.Xlsx);
return workbook;
复制和移动图表表单,请参阅以下示例代码:
private static void CopyMoveChartSheet() {
Workbook workbook = AddChartSheet();
// Add additional worksheets
workbook.getWorksheets().add(SheetType.Worksheet);
workbook.getWorksheets().add(SheetType.Worksheet);
// Access ChartSheet
IWorksheet chartSheet = workbook.getWorksheets().get(1);
// Copies the chart sheet to the end of the workbook and save it
chartSheet.copy();
// Saving workbook to Xlsx
workbook.save("382-CopyChartsheet.xlsx", SaveFileFormat.Xlsx);
// Moves the chart sheet to the end of the workbook and save it
chartSheet.move();
// Saving workbook to Xlsx
workbook.save("382-MoveChartsheet.xlsx", SaveFileFormat.Xlsx);
要删除图表页,请参阅以下示例代码:
private static void DeleteChartSheet() {
Workbook workbook = AddChartSheet();
// Access ChartSheet
IWorksheet chartSheet = workbook.getWorksheets().get(1);
// Deletes the chart sheet
chartSheet.delete();
// Saving workbook to Xlsx
workbook.save("384-NoChartsheet.xlsx", SaveFileFormat.Xlsx);