使用Apache poi 导出excel含有柱状图

本文介绍如何利用Apache POI库在Excel中创建柱状图。首先需在Maven项目中添加相关依赖,然后通过代码实例展示具体实现步骤。运行代码后,可以观察到生成的Excel文件中含有预期的柱状图。
摘要由CSDN通过智能技术生成

使用poi 在excel中使用chart绘制出柱状图

需要先在maven中将依赖引入

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
           <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>openxml4j</artifactId>
            <version>1.0-beta</version>
        </dependency>

下面就是代码实例

package com.huasu.resAndDev.excelTools;

import com.huasu.resAndDev.commonTools.ConstantKit;
import com.huasu.resAndDev.commonTools.ResponseResult;
import org
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是使用POI导出Word柱状图的步骤: 1. 导入POI库和相关依赖: ```java import org.apache.poi.xwpf.usermodel.*; import org.apache.poi.xddf.usermodel.chart.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; ``` 2. 创建一个新的Word文档: ```java XWPFDocument document = new XWPFDocument(); ``` 3. 创建一个柱状图数据集: ```java XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("Data"); Row row = sheet.createRow(0); row.createCell(0).setCellValue("Category"); row.createCell(1).setCellValue("Value1"); row.createCell(2).setCellValue("Value2"); row = sheet.createRow(1); row.createCell(0).setCellValue("Category 1"); row.createCell(1).setCellValue(10); row.createCell(2).setCellValue(20); row = sheet.createRow(2); row.createCell(0).setCellValue("Category 2"); row.createCell(1).setCellValue(30); row.createCell(2).setCellValue(40); row = sheet.createRow(3); row.createCell(0).setCellValue("Category 3"); row.createCell(1).setCellValue(50); row.createCell(2).setCellValue(60); XDDFDataSource<String> categories = XDDFDataSourcesFactory.fromStringCellRange(sheet, new CellRangeAddress(1, 3, 0, 0)); XDDFNumericalDataSource<Double> values1 = XDDFDataSourcesFactory.fromNumericCellRange(sheet, new CellRangeAddress(1, 3, 1, 1)); XDDFNumericalDataSource<Double> values2 = XDDFDataSourcesFactory.fromNumericCellRange(sheet, new CellRangeAddress(1, 3, 2, 2)); ``` 4. 创建一个柱状图: ```java XWPFChart chart = document.createChart(15, 15, 600, 400); chart.setTitleText("Bar Chart"); chart.setTitleOverlay(false); XDDFChartLegend legend = chart.getOrAddLegend(); legend.setPosition(LegendPosition.TOP_RIGHT); XDDFCategoryAxis categoryAxis = chart.createCategoryAxis(AxisPosition.BOTTOM); XDDFValueAxis valueAxis = chart.createValueAxis(AxisPosition.LEFT); valueAxis.setCrosses(AxisCrosses.AUTO_ZERO); XDDFChartData data = chart.createData(ChartTypes.BAR, categoryAxis, valueAxis); data.setVaryColors(true); XDDFChartData.Series series1 = data.addSeries(categories, values1); series1.setTitle("Value1", null); XDDFChartData.Series series2 = data.addSeries(categories, values2); series2.setTitle("Value2", null); chart.plot(data); ``` 5. 将图表插入到Word文档中: ```java XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText("Bar Chart:"); run.addBreak(); XDDFPicture picture = chart.getPreferredSize(); String id = document.addPictureData(picture.getData(), Document.PICTURE_TYPE_PNG); document.createPicture(id, document.getNextPicNameNumber(Document.PICTURE_TYPE_PNG), picture.getWidth(), picture.getHeight()); ``` 6. 保存Word文档: ```java FileOutputStream out = new FileOutputStream("chart.docx"); document.write(out); out.close(); document.close(); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值