使用 Aspose Words for Java 插入条形图

发布于 2024-12-04 07:57:25 字数 74 浏览 0 评论 0原文

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

Is there a way of creating and inserting a bar chart in a Ms Word document using Aspose Words for Java? I can't find a way to do this. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

守不住的情 2024-12-11 07:57:25

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

//创建一个新的工作簿。

工作簿workbook = new Workbook();

//获取第一个工作表。

工作表工作表 = workbook.getWorksheets().get(0);

//设置工作表名称

sheet.setName("数据");

//获取sheet中的cells集合。

单元格单元格 = workbook.getWorksheets().get(0).getCells();

//将一些值放入数据表的单元格中。

cells.get("A1").setValue("区域");

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("销售");

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);

//创建图表

int ChartIndex = Sheet.getCharts().add(ChartType.COLUMN, 12, 1, 33,
12);

图表chart =sheet.getCharts().get(chartIndex);

//设置图表标题属性

chart.getTitle().setText("按地区销售情况");

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

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

//设置nseries的属性

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

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

//设置系列数据点的填充颜色(法国-
葡萄牙(7分))

ChartPointCollection图表点=
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 担任开发人员传播者。

Aspose.Words for Java currently doesn't allow you to create the bar chart in Word documents. However, if you just want to add a static bar chart, you may try Aspose.Cells for Java to create bar chart and render it to image. After that, you can add this bar chart image in Word document using Aspose.Words for Java. Do you think this might help in your scenario? If it does then you can use the following code snippet to create and render the bar chart to image:

//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);

Disclosure: I work as developer evangelist at Aspose.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文