欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 创建Excel雷达图

程序员文章站 2022-03-25 12:32:08
...

本文介绍通过Java程序在Excel工作表中创建雷达图表的方法。

程序环境

  • Spire.Xls.jar 免费版本3.9.1
  • Jdk版本要求1.6.0或者更高版本

注意,这里支持两种方法导入jar:

方法1可自行到官网下载免费版,并解压,将lib文件夹下的jar导入Java程序;

 

方法2maven中配置pom.xml文件,指定maven仓库路径和Spire.Xls.free的依赖来导入

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId> e-iceblue </groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>3.9.1</version>
    </dependency>
</dependencies>

 

Java代码

import com.spire.xls.*;

import java.awt.*;

public class RadarChart {
    public static void main(String[] args) {
        //创建Excel工作簿
        Workbook wb = new Workbook();
        Worksheet sheet = wb.getWorksheets().get(0);

        //添加表格数据
        sheet.getRange().get("A1").setValue("部门");
        sheet.getRange().get("A2").setValue("研发部");
        sheet.getRange().get("A3").setValue("质检部");
        sheet.getRange().get("A4").setValue("生产部");
        sheet.getRange().get("A5").setValue("财务部");
        sheet.getRange().get("A6").setValue("销售部");

        sheet.getRange().get("B1").setValue("人数");
        sheet.getRange().get("B2").setNumberValue(30);
        sheet.getRange().get("B3").setNumberValue(10);
        sheet.getRange().get("B4").setNumberValue(25);
        sheet.getRange().get("B5").setNumberValue(28);
        sheet.getRange().get("B6").setNumberValue(20);

        sheet.getRange().get("C1").setValue("月支出(万元)");
        sheet.getRange().get("C2").setNumberValue(60);
        sheet.getRange().get("C3").setNumberValue(45);
        sheet.getRange().get("C4").setNumberValue(50);
        sheet.getRange().get("C5").setNumberValue(38);
        sheet.getRange().get("C6").setNumberValue(65);

        //格式化表格数据
        sheet.getRange().get("A1:C1").getStyle().getFont().isBold(true);
        sheet.getRange().get("A1:C6").getStyle().getFont().setSize(12);
        sheet.getRange().get("A1:C1").setRowHeight(17);
        sheet.getRange().get("A1:C6").setColumnWidth(16);
        sheet.getRange().get("A1:C1").getStyle().setColor(new Color(176,224,230));
        sheet.getRange().get("A2:C6").getStyle().setColor(new Color(255,239,213));
        sheet.getRange().get("A1:C6").getStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        sheet.getRange().get("C2:C6").getStyle().setNumberFormat("\"¥\"#,##0");

        //添加雷达图表到表格
        Chart chart = sheet.getCharts().add(ExcelChartType.Radar);
        chart.setLeftColumn(1);
        chart.setTopRow(7);
        chart.setRightColumn(8);
        chart.setBottomRow(27);
        chart.setDataRange(sheet.getRange().get("A1:C6"));
        chart.setSeriesDataFromRange(false);
        chart.setChartTitle("部门开支统计分析");
        chart.getChartTitleArea().isBold();
        chart.getChartTitleArea().setSize(12);
        chart.getPlotArea().getFill().setVisible(false);
        chart.getLegend().setPosition(LegendPositionType.Corner);

        //保存文档
        wb.saveToFile("result.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}