使用Apache POI生成带柱状图的Word文档,创建成功却无法打开求助
求助:Apache POI生成含柱状图的Word文档无法打开
我是Apache POI、Java及Web开发的新手,使用以下代码尝试生成包含柱状图的Word文档,程序提示创建成功,但生成的文档无法打开,恳请各位提供帮助。
import java.io.FileOutputStream; import org.apache.poi.util.Units; import org.apache.poi.xddf.usermodel.chart.*; import org.apache.poi.xwpf.usermodel.*; public class BarChart { public static void main(String[] args) throws Exception { XWPFDocument doc = new XWPFDocument(); // Create a paragraph XWPFParagraph paragraph = doc.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText("Bar Chart Example:"); // Create a severitychart XWPFChart categoryChart = doc.createChart(10 * Units.EMU_PER_CENTIMETER, 5 * Units.EMU_PER_CENTIMETER); // Create chart data source String[] categories = new String[]{"Critical", "High", "Medium","Low","Best Practice"}; Double[] values = new Double[]{(double) 1,(double) 2,(double) 3,(double) 4,(double) 5}; XDDFDataSource<String> categoryDataSource = XDDFDataSourcesFactory.fromArray(categories); XDDFNumericalDataSource<Double> valueDataSource = XDDFDataSourcesFactory.fromArray(values); // Create the category axis XDDFCategoryAxis categoryAxis = categoryChart.createCategoryAxis(AxisPosition.BOTTOM); XDDFValueAxis valueAxis = categoryChart.createValueAxis(AxisPosition.TOP); XDDFChartData data = categoryChart.createData(ChartTypes.BAR, categoryAxis, valueAxis); //categoryChart.setTitleText("Evoke"); XDDFChartData.Series series = data.addSeries(categoryDataSource, valueDataSource); //series.setTitle("Fruit Sales", null); // Plot the chart categoryChart.plot(data); // Save the document FileOutputStream out = new FileOutputStream("bar_chart_document.docx"); doc.write(out); out.close(); doc.close(); System.out.println("chart created successfully!"); } }
内容的提问来源于stack exchange,提问作者Bharath Naidu Yenumula
相关产品推荐
相关产品推荐

