java - 使用 Aspose Words for Java 插入条形图

标签 java charts ms-word aspose

有没有办法使用 Aspose Words for Java 在 Ms Word 文档中创建和插入条形图?我找不到办法做到这一点。谢谢。

最佳答案

Aspose.Words for Java 目前不允许您在 Word 文档中创建条形图。但是,如果您只想添加静态条形图,您可以尝试 Aspose.Cells for Javacreate bar chart and render it to image 。之后,您可以使用 Aspose.Words for Java 在 Word 文档中添加此条形图图像。您认为这对您的场景有帮助吗?如果是这样,那么您可以使用以下代码片段创建条形图并将其呈现为图像:

//Create a new Workbook.

Workbook workbook = new Workbook();

//Get the first worksheet.

Worksheet sheet = workbook.getWorksheets().get(0);

//Set the name of worksheet

sheet.setName("Data");

//Get the cells collection in the sheet.

Cells cells = workbook.getWorksheets().get(0).getCells();

//Put some values into a cells of the Data sheet.

cells.get("A1").setValue("Region");

cells.get("A2").setValue("France");

cells.get("A3").setValue("Germany");

cells.get("A4").setValue("England");

cells.get("A5").setValue("Sweden");

cells.get("A6").setValue("Italy");

cells.get("A7").setValue("Spain");

cells.get("A8").setValue("Portugal");

cells.get("B1").setValue("Sale");

cells.get("B2").setValue(70000);

cells.get("B3").setValue(55000);

cells.get("B4").setValue(30000);

cells.get("B5").setValue(40000);

cells.get("B6").setValue(35000);

cells.get("B7").setValue(32000);

cells.get("B8").setValue(10000);

//Create chart

int chartIndex = sheet.getCharts().add(ChartType.COLUMN, 12, 1, 33, 12);

Chart chart = sheet.getCharts().get(chartIndex);

//Set properties of chart title

chart.getTitle().setText("Sales By Region");

chart.getTitle().getTextFont().setBold(true);

chart.getTitle().getTextFont().setSize(12);

//Set properties of nseries

chart.getNSeries().add("Data!B2:B8", true);

chart.getNSeries().setCategoryData("Data!A2:A8");

//Set the fill colors for the series's data points (France - Portugal(7 points))

ChartPointCollection chartPoints = chart.getNSeries().get(0).getPoints();

ChartPoint point = chartPoints.get(0);

point.getArea().setForegroundColor(Color.getCyan());

point = chartPoints.get(1);

point.getArea().setForegroundColor(Color.getBlue());

point = chartPoints.get(2);

point.getArea().setForegroundColor(Color.getYellow());

point = chartPoints.get(3);

point.getArea().setForegroundColor(Color.getRed());

point = chartPoints.get(4);

point.getArea().setForegroundColor(Color.getBlack());

point = chartPoints.get(5);

point.getArea().setForegroundColor(Color.getGreen());

point = chartPoints.get(6);

point.getArea().setForegroundColor(Color.getMaroon());

//Set the legend invisible

chart.setShowLegend(false);

//Get the Chart mage

ImageOrPrintOptions imgOpts = new ImageOrPrintOptions();

imgOpts.setImageFormat(ImageFormat.getPng());

//Save the chart image file.

chart.toImage(new FileOutputStream("D:\Files\MyChartImage.png"), imgOpts);

披露:我在 Aspose 担任开发人员传播者。

关于java - 使用 Aspose Words for Java 插入条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7391462/

相关文章:

c# - 与多个版本的 Word 互操作

c# - Visual Studio 2010 中的 Word 2007 文档

java - 如何通过 Jackson 生成器对值进行 html 转义

java - 从流中获取最后 n 个元素

java - 任务 ':app:processDebugGoogleServices' Firebase&Android Studio 执行失败

charts - Dimple.js 多系列栏未堆叠

java - 从 ArrayList<Integer> 创建二维数组

silverlight - 删除(折叠) LineSeries 中的数据点?

javascript - 谷歌绘制具有相同比例的多个系列的图表

excel - 粘贴为纯文本 Contenteditable div & textarea (word/excel...)