使用POI导出Excel(并使用公式)

article/2025/9/30 10:36:12

使用POI导出Excel(并使用公式)

  1. 使用java直接生成Excel并填充数据
    可以参考POI官方文档,就是对Sheet,row,cell,Formula等操作,
    https://poi.apache.org/components/index.html
    这种方式也可以生成复杂样式的Excel,但是代码量非常大,简单的Excel可以使用此种操作方式

  2. 新建Excel,然后java读取并填充数据
    这种方式适合生成复杂样式的Excel。也可以在模板中指定公式,填充数据后公式自动运算

新建Excel模板
在这里插入图片描述

具体代码

@RequestMapping("/demo")public String exportExcel(HttpServletResponse response) {response.setContentType("application/binary;charset=UTF-8");ServletOutputStream out = null;try {out = response.getOutputStream();//spring自带的读取文件(文件放在resource下)Resource resource = new ClassPathResource("template/evaluate.xls");try {                response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(resource.getFilename(), "UTF-8"));} catch (UnsupportedEncodingException e1) {e1.printStackTrace();}//使用模板文件生成ExcelWorkbook workbook = HSSFWorkbookFactory.create(resource.getFile());Sheet sheet = workbook.getSheetAt(0);//模拟填充数据for (int i = 0; i < 10; i++) {Row row = sheet.getRow(i);row.createCell(0).setCellValue(i);row.createCell(1).setCellValue(i + 1);}sheet.setForceFormulaRecalculation(true);workbook.write(out);} catch (Exception e) {e.printStackTrace();} finally {if (out != null) {try {out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}}return "";}

结果展示

在这里插入图片描述

注意:POI并不是支持所有的Excel中的公式
https://poi.apache.org/components/spreadsheet/eval-devguide.html
连接最后可以看到


http://chatgpt.dhexx.cn/article/ijT1NVhX.shtml

相关文章

poi导出excel日期格式问题

POI导出Excel的时候有时需要日期格式&#xff0c;在筛选时是这样的 private XSSFWorkbook wb null; String dateFormat "yyyy-MM-dd";//或者"yyyy/MM/dd"格式,"yyyy/M/d"这样的格式不会自动补0 public void setCell(int index,Date value,bool…

POI导出Excel详细教程

文章目录 前言一、引入jar包依赖二、创建自定义导出Excel样式类三、创建核心导出工具类四、创建导出对象实体Bean五、具体使用案例5.1.创建SQL脚本和初始化数据5.2.写一个查询所有学生信息接口5.3.查询学生基本信息返回数据格式5.4.导出Excel方法5.5.通过页面导出按钮导出Excel…

Java使用POI导出Excel文件

Java使用POI导出Excel文件 POI概述Apache POI 下载依赖引用关系图如下所示:直接下载Maven下载 POI实例总结 POI概述 HSSF 是 POI 项目的 Excel 97(-2007) 文件格式的纯 Java 实现。XSSF 是 POI 项目的 Excel 2007 OOXML (.xlsx) 文件格式的纯 Java 实现。 HSSF 和 XSSF 提供了读…

Java用POI导出Excel表格中的数据

poi操作Excel 主要通过HSSF,XSSF两种方式。 HSSF只能解析.xls格式的excel文件&#xff0c;XSSF支持.xls与.xlsx两种格式。 功能&#xff1a; 传递一个Excel文件&#xff0c;拿到里面所有的数据&#xff0c;返回一个集合。 Excel中的数据是什么类型&#xff0c;就返回什么类型的…

springboot+poi导出excel

在web开发中经常遇到将数据写入excel并导出的需求&#xff0c;下面整理springbootpoi实现导出excel的实例。 搭建springboot工程&#xff0c;引入依赖&#xff0c;细节不在赘述。 引入poi依赖 <dependency><groupId>org.apache.poi</groupId><artifactId…

POI实现导入导出excel

poi在日常的导入导出中是比较常用到的&#xff0c;最近也总结了下接触到的poi相关的导入导出的一些代码&#xff0c;有问题可以指出&#xff1a; package com.poi;import km.org.apache.poi.hssf.usermodel.*; import km.org.apache.poi.hssf.util.HSSFColor; import km.org.a…

java使用Poi导出excel表格

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) 在之前的一篇文章java操作Excel实战干货中展示了使用poi库读取excel表格的的用法&#xff0c;今天演示另一个常用功能&#xff0c;将数据导出到excel中&#xff…

POI导出Excel文件中文乱码

使用POI组件生产Excel文件时中文乱码&#xff0c;总结后可能错误原因如下&#xff1a; 后台导出Excel文件格式混乱 POI组件可生成.xls和.xlsx两种格式的Excel文件&#xff0c;设置文件格式时应注意与导出的格式相匹配。如果文件格式设置出错&#xff0c;则会出现以下错误&…

Java使用poi导出Excel之格式设置

最近接到一个需求&#xff0c;客户不满意原本导出的csv文件&#xff0c;想要导出Excel文件。不就导出Excel文件嘛&#xff0c;小意思&#xff0c;于是乎信心满满从网上扒导出的代码&#xff0c;一顿CV大法&#xff0c;搞定&#xff01;代码如下: import lombok.extern.slf4j.S…

Java使用POI导出Excel

目录 一、前景二、概念2.1. 简介2.2.Excel版本和相关对象2.3.WorkBook2.4.POI依赖 三、POI - 写3.1.代码示例3.2. 性能对比3.3. 测试rowAccessWindowSize3.4. 导出Excel样式设置 四、POI - 读4.1.代码示例4.2.读取不同的数据类型4.3.读取公式 五、POI - 遇到的坑5.1.为什么模板…

Java实现八大排序算法

原文链接&#xff1a; 八大排序算法总结与java实现 - iTimeTraveler 概述 因为健忘&#xff0c;加上对各种排序算法理解不深刻&#xff0c;过段时间面对排序就蒙了。所以决定对我们常见的这几种排序算法进行统一总结&#xff0c;强行学习。首先罗列一下常见的十大排序算法&…

通过java实现八大排序的功能

八大排序(java实现) 常见的排序算法如下&#xff1a; 直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序 它们都属于内部排序&#xff0c;也就是只考虑数据量较小仅需要使用内存的排序算法&#xff0c;他们之间关系如下&#xff1a; 稳定与非稳定 …

c语言基数为3变为基数为10,必须知道的C语言八大排序算法(收藏)

概述 排序有内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据很大&#xff0c;一次不能容纳全部的排序记录&#xff0c;在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大&#xff0c;则应采用时…

数据结构( 排序)

排序 1、排序的基本概念2、插入排序①.直接插入排序②.折半插入排序③.希尔排序 3、交换排序①.冒泡排序②.快速排序 4、选择排序①.简单选择排序②.树形选择排序③.堆排序 5、归并排序6、基数排序7、总结8、例题与应用 1、排序的基本概念 排序是计算机内经常进行的一种操作&a…

十大经典排序算法python版本_【程序员面试必备】动画详解十大经典排序算法(C语言版)...

欢迎访问我的博客原文 排序算法是程序员必备的基础知识&#xff0c;弄明白它们的原理和实现很有必要。本文中将通过非常细节的动画展示出算法的原理&#xff0c;配合代码更容易理解。 概述 由于待排序的元素数量不同&#xff0c;使得排序过程中涉及的存储器不同&#xff0c;可将…

八大排序算法详解(Java语言实现)

概述 因为健忘&#xff0c;加上对各种排序算法理解不深刻&#xff0c;过段时间面对排序就蒙了。所以决定对我们常见的这几种排序算法进行统一总结&#xff0c;强行学习。首先罗列一下常见的十大排序算法&#xff1a; 直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归…

九大排序算法-C语言实现及详解

概述 排序有内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据很大&#xff0c;一次不能容纳全部的排序记录&#xff0c;在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大&#xff0c;则应采用…

常用的排序算法-C语言

目录 冒泡排序   鸡尾酒排序  选择排序插入排序 二分插入排序  希尔排序  归并排序堆排序快速排序 我们通常所说的排序算法往往指的是内部排序算法&#xff0c;即数据记录在内存中进行排序。 排序算法大体可分为两种&#xff1a; 一种是比较排序&#xff0c;时间复杂度…

九大排序算法详解 - C语言篇

概述 排序有内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据很大&#xff0c;一次不能容纳全部的排序记录&#xff0c;在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大&#xff0c;则应采用时…

数据结构排序算法总结

学完数据结构已经有好长一段时间了&#xff0c;最近又重新回顾&#xff0c;做一个八大排序的总结&#xff0c;以便后期回顾。 目录 一、插入排序 1.直接插入排序 2.希尔排序 二、交换排序 1.冒泡排序 2.快速排序 三、选择排序 1.简单选择排序 2.堆排序 四、归并排序 …