有没有一种方法可以使用 Aspose Words for Java 在 Ms Word 文档中创建和插入条形图?我找不到办法做到这一点。谢谢。
1 回答
Aspose.Words for Java 目前不允许您在 Word 文档中创建条形图。但是,如果您只想添加静态条形图,您可以尝试使用 Aspose.Cells for Java创建条形图并将其渲染为 image。之后,您可以使用 Aspose.Words for Java 在 Word 文档中添加此条形图图像。你认为这对你的场景有帮助吗?如果是这样,那么您可以使用以下代码片段来创建条形图并将其呈现为图像:
//创建一个新的工作簿。
工作簿工作簿 = 新工作簿();
//获取第一个工作表。
工作表工作表 = workbook.getWorksheets().get(0);
//设置工作表名称
sheet.setName("数据");
//获取工作表中的单元格集合。
单元格单元格 = workbook.getWorksheets().get(0).getCells();
//将一些值放入数据表的单元格中。
cells.get("A1").setValue("Region");
cells.get("A2").setValue("法国");
cells.get("A3").setValue("德国");
cells.get("A4").setValue("英格兰");
cells.get("A5").setValue("瑞典");
cells.get("A6").setValue("意大利");
cells.get("A7").setValue("西班牙");
cells.get("A8").setValue("葡萄牙");
cells.get("B1").setValue("Sale");
细胞.get("B2").setValue(70000);
细胞.get("B3").setValue(55000);
细胞.get("B4").setValue(30000);
细胞.get("B5").setValue(40000);
细胞.get("B6").setValue(35000);
细胞.get("B7").setValue(32000);
细胞.get("B8").setValue(10000);
//创建图表
int chartIndex = sheet.getCharts().add(ChartType.COLUMN, 12, 1, 33, 12);
图表图表 = sheet.getCharts().get(chartIndex);
//设置图表标题的属性
chart.getTitle().setText("按地区销售");
chart.getTitle().getTextFont().setBold(true);
chart.getTitle().getTextFont().setSize(12);
//设置n系列的属性
chart.getNSeries().add("数据!B2:B8", true);
chart.getNSeries().setCategoryData("Data!A2:A8");
//设置系列数据点的填充颜色(法国-葡萄牙(7点))
ChartPointCollection chartPoints = chart.getNSeries().get(0).getPoints();
ChartPoint 点 = chartPoints.get(0);
point.getArea().setForegroundColor(Color.getCyan());
点 = chartPoints.get(1);
point.getArea().setForegroundColor(Color.getBlue());
点 = chartPoints.get(2);
point.getArea().setForegroundColor(Color.getYellow());
点 = chartPoints.get(3);
point.getArea().setForegroundColor(Color.getRed());
点 = chartPoints.get(4);
point.getArea().setForegroundColor(Color.getBlack());
点 = chartPoints.get(5);
point.getArea().setForegroundColor(Color.getGreen());
点 = chartPoints.get(6);
point.getArea().setForegroundColor(Color.getMaroon());
//设置图例不可见
chart.setShowLegend(false);
//获取图表法师
ImageOrPrintOptions imgOpts = new ImageOrPrintOptions();
imgOpts.setImageFormat(ImageFormat.getPng());
//保存图表图像文件。
chart.toImage(new FileOutputStream("D:\Files\MyChartImage.png"), imgOpts);
披露:我在 Aspose 担任开发人员布道师。