JAVA绘制甘特图并导出到excel
时间: 2023-08-11 21:06:29 浏览: 83
要在Java中绘制甘特图并将其导出到Excel,可以使用Apache POI和JFreeChart库。
首先,使用JFreeChart创建甘特图。可以使用以下代码片段创建一个简单的甘特图:
```java
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "Task", "2019-01-01", "2019-01-15");
dataset.addValue(1.0, "Task", "2019-01-15", "2019-02-01");
dataset.addValue(1.0, "Task", "2019-02-01", "2019-02-15");
JFreeChart chart = ChartFactory.createGanttChart("Gantt Chart", "Task", "Date", dataset);
```
然后,可以使用Apache POI将图表导出到Excel。以下是将图表导出到Excel的代码示例:
```java
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Gantt Chart");
ByteArrayOutputStream chartOut = new ByteArrayOutputStream();
ChartUtils.writeChartAsPNG(chartOut, chart, 600, 400);
int pictureIdx = workbook.addPicture(chartOut.toByteArray(), Workbook.PICTURE_TYPE_PNG);
chartOut.close();
CreationHelper helper = workbook.getCreationHelper();
Drawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(0);
anchor.setRow1(0);
Picture picture = drawing.createPicture(anchor, pictureIdx);
picture.resize();
FileOutputStream fileOut = new FileOutputStream("gantt_chart.xlsx");
workbook.write(fileOut);
fileOut.close();
workbook.close();
```
这将创建一个名为“gantt_chart.xlsx”的Excel文件,并将甘特图插入到工作表中。