使用Aspose Words for Java插入条形图

时间:2011-09-12 17:14:51

标签: java charts ms-word aspose

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

1 个答案:

答案 0 :(得分:1)

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

  

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

     

工作簿工作簿=新工作簿();

     

//获取第一张工作表。

     

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

     

//设置工作表的名称

     

sheet.setName( “数据”);

     

//获取工作表中的单元格集合。

     

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

     

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

     

//设置图表标题的属性

     

chart.getTitle()。setText(“按地区销售”);

     。

chart.getTitle()getTextFont()参考setBold(真);

     

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

     

//设置nseries的属性

     

chart.getNSeries()。add(“Data!B2:B8”,true);

     

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

     

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

     

ChartPointCollection chartPoints =   chart.getNSeries()得到(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());

     

//设置图例不可见

     

chart.setShowLegend(假);

     

//获取图表法师

     

ImageOrPrintOptions imgOpts = new ImageOrPrintOptions();

     

imgOpts.setImageFormat(ImageFormat.getPng());

     

//保存图表图像文件。

     

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

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