java excel 导出多条折线图
时间: 2023-08-22 15:07:24 浏览: 61
您好!要在Java中导出多条折线图到Excel,您可以使用Apache POI库来实现。下面是一个简单的示例代码,演示如何使用POI在Excel中创建折线图。
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelChartExample {
public static void main(String[] args) {
// 创建Excel工作簿和工作表
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("折线图");
// 创建数据
Object[][] data = {
{"日期", "数据1", "数据2", "数据3"},
{1, 10, 20, 30},
{2, 15, 25, 35},
{3, 20, 30, 40},
{4, 25, 35, 45}
};
// 写入数据到工作表
int rowNum = 0;
for (Object[] rowData : data) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (Object cellData : rowData) {
Cell cell = row.createCell(colNum++);
if (cellData instanceof String) {
cell.setCellValue((String) cellData);
} else if (cellData instanceof Integer) {
cell.setCellValue((Integer) cellData);
}
}
}
// 创建图表
XSSFDrawing drawing = sheet.createDrawingPatriarch();
XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 5, 1, 15, 15);
XSSFChart chart = drawing.createChart(anchor);
// 创建图表标题
XSSFChartTitle chartTitle = chart.getTitle();
chartTitle.setOverlay(false);
chartTitle.setText("折线图");
// 创建图表区域
XSSFChartLegend legend = chart.getOrCreateLegend();
legend.setPosition(LegendPosition.BOTTOM);
// 创建X轴和Y轴
XSSFCategoryAxis xAxis = chart.createCategoryAxis(AxisPosition.BOTTOM);
XSSFValueAxis yAxis = chart.createValueAxis(AxisPosition.LEFT);
// 设置X轴和Y轴标签
xAxis.setCrosses(AxisCrosses.AUTO_ZERO);
yAxis.setCrosses(AxisCrosses.AUTO_ZERO);
// 创建