java实现excel导出柱状图
时间: 2023-11-30 18:43:19 浏览: 84
以下是Java实现Excel导出柱状图的示例代码:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class ExcelBarChartExporter {
public static void export(String filePath) throws IOException {
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("Bar Chart");
// 创建数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "Series 1", "Category 1");
dataset.addValue(2.0, "Series 1", "Category 2");
dataset.addValue(3.0, "Series 1", "Category 3");
dataset.addValue(4.0, "Series 1", "Category 4");
dataset.addValue(5.0, "Series 1", "Category 5");
// 创建柱状图
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart", // 图表标题
"Category", // X轴标签
"Value", // Y轴标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向
true, // 是否显示图例
true, // 是否显示工具提示
false // 是否显示URL链接
);
// 将图表插入工作表
Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 5, 10, 20);
ChartUtils.generateChartImage(chart, anchor, workbook);
// 保存工作簿
FileOutputStream outputStream = new FileOutputStream(filePath);
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
```
该示例使用了Apache POI和JFreeChart两个库,其中Apache POI用于操作Excel文件,JFreeChart用于绘制图表。示例中创建了一个柱状图,并将其插入到Excel工作表中,最后将工作簿保存到指定的文件路径。
阅读全文