Java 在Excel中创建图表(不使用单元格数据)
以下经验内容分享如何通过Java程序在Excel创建图表,创建图表时不使用excel表格中的指定数据,即直接在java代码中定义生成图表所需要的数据数组内容,不用将数据写入Excel工作表再通过表格中的数据来生成图表。
工具/原料
Free Spire.XLS for Java (免费版)
jdk 1.8.0(jdk版本在1.6.0及以上即可)
IDEA
jar获取及导入
1、方法1:在E-iceblue中文官网下载jar包,解异鲢阍羟压导入Spire.Xls.jar(jar在lib文件夹下)方法2:Maven程序中导入jar需要先配就女蒿鸳置Pom.xml文件,如下:<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>完成配置后,导入jar文档到程序。如下导入结果:
Java代码示例
1、import com.spire.xls.*;import com.spire.xls.charts.ChartSerie;import java.awt.*;public class Cr髫潋啜缅eateChart { public static void main(String[] args) { //创建工作簿 Workbook wb = new Workbook(); //获取第一个工作表(创建工作簿时,已默认包含3个工作表) Worksheet sheet = wb.getWorksheets().get(0); //添加图表,并指定图表类型 Chart chart = sheet.getCharts().add(ExcelChartType.LineMarkersStacked); //添加图表系列 ChartSerie series1 = chart.getSeries().add(); //定义图表生成所需数据 series1.setEnteredDirectlyCategoryLabels(new Object[]{"英国", "美国", "中国", "加拿大", "泰国", "新加坡"}); series1.setEnteredDirectlyValues(new Object[]{254, 221, 438, 158, 250, 300}); //设置图表标题、坐标轴、背景色 chart.setChartTitle("上半年产量(万吨)"); chart.getChartTitleArea().setSize(12); chart.getPrimaryCategoryAxis().setTitle("原产国"); chart.getPrimaryValueAxis().setTitle("产 量"); chart.getPlotArea().getFill().setForeColor(new Color(250,235,215)); //保存文档 wb.saveToFile("result.xlsx", ExcelVersion.Version2013); wb.dispose(); }}
2、图表生成结果: