首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Apache POI创建Excel图表

使用Apache POI创建Excel图表可以通过以下步骤实现:

  1. 添加依赖

在项目中添加Apache POI的依赖,可以使用Maven或Gradle进行管理。

Maven:

代码语言:xml<dependency>
复制
   <groupId>org.apache.poi</groupId>
   <artifactId>poi</artifactId>
   <version>5.2.1</version>
</dependency><dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>5.2.1</version>
</dependency>

Gradle:

代码语言:groovy
复制
implementation 'org.apache.poi:poi:5.2.1'
implementation 'org.apache.poi:poi-ooxml:5.2.1'
  1. 创建Excel文件

首先创建一个Excel文件,并添加一些数据。

代码语言:java
复制
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class ApachePOIExcelChart {
    public static void main(String[] args) {
        try (
                Workbook workbook = new XSSFWorkbook();
                FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")
        ) {
            Sheet sheet = workbook.createSheet("Sheet1");

            Row row = sheet.createRow(0);
            Cell cell = row.createCell(0);
            cell.setCellValue("Category");
            cell = row.createCell(1);
            cell.setCellValue("Value");

            for (int i = 1; i < 10; i++) {
                row = sheet.createRow(i);
                cell = row.createCell(0);
                cell.setCellValue("Category " + i);
                cell = row.createCell(1);
                cell.setCellValue(i * 10);
            }

            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 创建图表

接下来,我们将创建一个图表,并将其添加到Excel文件中。

代码语言:java
复制
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class ApachePOIExcelChart {
    public static void main(String[] args) {
        try (
                Workbook workbook = new XSSFWorkbook();
                FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")
        ) {
            Sheet sheet = workbook.createSheet("Sheet1");

            // 创建图表
            Drawing drawing = sheet.createDrawingPatriarch();
            ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 5, 10, 20);
            Chart chart = drawing.createChart(anchor);

            // 创建图表的标题
            ChartTitle title = chart.getOrCreateTitle();
            title.setText("Sample Chart");

            // 创建图表的数据源
            ChartDataSource<Number> categories = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(0, 9, 0, 0));
            ChartDataSource<Number> values = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(0, 9, 1, 1));

            // 创建图表的系列
            ChartSeries series = chart.createSeries();
            series.setName("Sample Series");
            series.setCategoryData(categories);
            series.setValues(values);

            // 设置图表的类型
            ChartAxis bottomAxis = chart.getOrCreateBottomAxis();
            ChartAxis leftAxis = chart.getOrCreateLeftAxis();
            ChartLegend legend = chart.getOrCreateLegend();
            legend.setPosition(LegendPosition.TOP_RIGHT);

            // 保存文件
            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这个示例将创建一个Excel文件,其中包含一个名为“Sheet1”的工作表,并在该工作表中创建一个图表。该图表将显示Category和Value之间的关系。

  1. 运行程序

运行上面的程序,将生成一个名为“workbook.xlsx”的Excel文件,其中包含一个名为“Sheet1”的工作表,并在该工作表中创建一个图表。

总结:

Apache POI是一个非常强大的Java库,可以用于创建和操作Excel文件。通过使用Apache POI,我们可以轻松地创建Excel图表,并根据需要自定义其外观和功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Excel图表技巧14:创建专业图表——基础

    引言:本文整理自exceluser.com,讲解在Excel中如何创建华尔街日报的专业图表。 下图1是我们将用于创建《华尔街日报》(“WSJ”)图表的示例数据。 ? 图1 首先,创建默认的柱形图。...选择单元格区域A2:B6,单击功能区“插入”选项卡“图表”组中的“簇状柱形图”,结果如下图2所示。 ? 图2 Excel的默认图表包括标题,但我们将使用不同的方法。...图4 如果要使用《华尔街日报》所使用的蓝色,先确保仍然选择蓝色柱形,然后单击“设置数据系列格式”窗格中的“填充与线条”选项卡,在“填充”部分,选择纯色填充,单击“颜色——更多颜色”,将颜色设置为红色=1...为了使说明内容能及时更新,在单元格D2中使用公式: =TEXT(B8,"yyyy-mm")&" ,年初至今零售量" 在单元格D4中,使用Unicode字符创建一个向下的三角形,即: =UNICHAR(9660...并适当调整图表大小。 此外,最后的单元格通常包含创建图表的人的联系信息,让人们知道去哪里询问有关图表或其内容的问题。因此,在图表正下方的单元格中输入相关内容并格式化。然后,设置图表坐标轴标签为加粗。

    3.6K30

    Excel图表学习:创建辐条图

    制作一张看起来像车轮辐条的图表,每个数据点的线从中间的同一点开始,向不同的方向出去,线的长度表示数据点的值。 Excel有散点图,可用于添加自定义图表类型。...这次创建的辐条图,应该有5个或6个辐条,辐条从中央枢纽向外辐射,辐条的长度应反映辐条值,所以它看起来应该如下图1所示。...图3 现在我们知道了角度和长度,因此可以在Excel中设置表格来计算辐条每端的X、Y值。...现在,可以创建使用弧度数组来提供X和Y值的公式。每个点的X值将是 X = Circle Radius* Cos( t ),其中t是我们的弧度数组。...刚刚添加到图表中的3个点可能可见,也可能不可见。可以使用向上/向下箭头键滚动图表系列来选取它们,或者“图表工具——格式——当前所选内容”中选取,如下图18所示。

    3.6K20

    Excel图表学习:创建子弹图

    从Excel的角度来看,下面是子弹图的一些高级方面: 它们是组合图表,使用条形图或柱形图以及散点图。 使用主坐标轴和次坐标轴,但在很大程度上忽略了次坐标轴。 多个条形或列“显示”必须始终为零的值。...使用带有特殊格式的误差线。 可以想到三种创建子弹图的方法。 使用列或条形“三明治”,这是本文介绍的方法。 使用没有“三明治”的柱形或条形。 使用XY图。...下面是单元格中使用的公式: B8:=Target B9:2 单元格B8确定Target(目标)值,单元格B9将目标值的指示居中放置在三个图表的中心,这些图表组合起来创建该子弹图。...2.因为在这种情况下Excel应用了错误的行/列分配,所以选择功能区“图表工具”选项卡“设计——切换行/列”。 3.选择并删除图例,此时的图表如下图2所示。 图2 注意,这些图表标有1、2和3。...此时的图表如下图8所示。 图8 15.将图表调整为想要的大小并进行你想要的一些其他格式,最后的图表效果如下图9所示。 图9 创建水平子弹图 与上文介绍的类似,只是使用堆积条形图。

    3.9K30

    Excel图表技巧07:创建滑动显示的图表

    下图1是我在chandoo.org上看到的一个图表技巧。很有趣的图表显示方式,你能想到吗? ? 图1 图表背后运行的数据如下图2所示。 ?..."&M5 单元格P7中的公式为: ="这是图表"&M7 单元格Q7中的公式为: ="这是图表"&N7 单元格P8中的公式为: ="和图表 "&M8 单元格Q8中的公式为: ="和图表 "&N8 单元格P9...绘制图表并将它们放置在单元格区域中,每个单元格中一个图表。如下图3所示。将这些放置图表的单元格区域命名为charts。 ? 图3 2. 在要显示图表的工作表中放置滚动条,并设置如下图4所示。 ?...计算相邻图表。根据下图5所示,可以使用简单的公式来计算。 ? 图5 4. 创建7个命名单元格,每个图表单元格一个。...链接图表图片。选择中间要显示的图表所在单元格并复制,到要放置图表的位置并粘贴,然后从快捷菜单中选择“链接图片”,如下图6所示。 ?

    1.5K20

    告别Apache POI,这才是Java读写Excel的利器

    Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。...easyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。...下图是easyExcel和POI在解析Excel时的对比图。 easyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)。...下面就通过代码来介绍下怎么使用easyExcel。 快速使用指南 文件上传读取Excel 下面通过一个读取用户信息的列子来展示下怎么使用easyExcel。...一些小建议 尽量使用DTO的模式导出Excel 给导出的Excel建立单独的DTO模型 exportWithEasyExcel(excelDate,XXDTO.class,"订单.xlsx","订单

    1.6K20

    在Excel中创建条件格式图表

    标签:Excel图表技巧 问题:希望图表中对于比率为90或以上的呈现绿色,70至90的呈现黄色,低于70的呈现红色。可以在图表中设置条件格式吗?如下图1所示。 图1 示例数据如下图2所示。...图2 Excel图表仍然不支持条件格式。然而,可以使用公式将数据分为三个系列,一个系列代表红色,一个系列代表黄色,一个系列代表绿色。每个类别只填充一个系列,其他系列将是#N/A。...图4 选择单元格区域D1:G8,创建堆积柱形图。然后,选择每个系列,使用“设置数据系列格式——填充”来选择正确的颜色。最终的结果如上文图1所示。...技巧:如果需要对正值使用一种颜色,对负值使用另一种颜色,可以使用常规的柱形图,然后设置系列的格式,在“填充”类别中,选择“以互补色代表负值”,例如可以选择绿色作为第一种颜色,红色作为第二种颜色。

    40340
    领券