java导出excel图表

发布网友

我来回答

1个回答

热心网友

通过Java程序导出带图表的excel吗?参考下面用spire.xls.jar来创建Excel图表的方法,这里以创建饼图为例,当然你也可以指定创建其他图表类型,如柱状图、折线图、雷达图、散点图等等:

import com.spire.xls.*;

import com.spire.xls.charts.ChartSerie;

 

import java.awt.*;

 

public class CreatePieChart {

 

    public static void main(String[] args) {

 

        //创建Workbook对象

        Workbook workbook = new Workbook();

 

        //获取第一个工作表

        Worksheet sheet = workbook.getWorksheets().get(0);

 

        //将图表数据写入工作表

        sheet.getCellRange("A1").setValue("年份");

        sheet.getCellRange("A2").setValue("2002");

        sheet.getCellRange("A3").setValue("2003");

        sheet.getCellRange("A4").setValue("2004");

        sheet.getCellRange("A5").setValue("2005");

 

        sheet.getCellRange("B1").setValue("销售额");

        sheet.getCellRange("B2").setNumberValue(4000);

        sheet.getCellRange("B3").setNumberValue(6000);

        sheet.getCellRange("B4").setNumberValue(7000);

        sheet.getCellRange("B5").setNumberValue(8500);

 

        //设置单元格样式

        sheet.getCellRange("A1:B1").setRowHeight(15);

        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);

        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);

        sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);

        sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"¥\"#,##0");

 

        //添加饼图

        Chart chart = sheet.getCharts().add(ExcelChartType.Pie);

 

        //设置图表数据区域

        chart.setDataRange(sheet.getCellRange("B2:B5"));

        chart.setSeriesDataFromRange(false);

 

        //设置图表位置

        chart.setLeftColumn(3);

        chart.setTopRow(1);

        chart.setRightColumn(11);

        chart.setBottomRow(20);

 

        //设置图表标题

        chart.setChartTitle("年销售额");

        chart.getChartTitleArea().isBold(true);

        chart.getChartTitleArea().setSize(12);

 

        //设置系列标签

        ChartSerie cs = chart.getSeries().get(0);

        cs.setCategoryLabels(sheet.getCellRange("A2:A5"));

        cs.setValues(sheet.getCellRange("B2:B5"));

        cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);

        chart.getPlotArea().getFill().setVisible(false);

 

        //保存文档

        workbook.saveToFile("output/PieChart.xlsx", ExcelVersion.Version2016);

    }

}

饼图创建效果:

excel饼状图效果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com