Java使用POI写(创建)Excel

java 用poi生成excel 生成excel有两种方式,第一:用代码画表格生成,第二:读取字段信息进行模板的填充。本文只叙述第一种方式,第二种以后更新。生成的原理就是如此!如有疑问,底下留言! 阅读详情

导入依赖

<!--xls(03版本excel)-->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi</artifactId>
	<version>5.2.2</version>
</dependency>

<!--xlsx(07版本excel)-->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>5.2.0</version>
</dependency>

写(创建)一个excel

public class ExcelwriteTest {
    //生成文件位置
    private static final String PATH="D:\\";
    @Test
    public void testWrite() throws Exception {
        /**
         * 创建一个工作簿
         * Workbook有三个常用实现类
         * 1.HSSFWorkbook 03版xls
         * 2.XSSFWorkbook 07版xlsx
         * 3.SXSSFWorkbook 可以理解为第二种的plus版,增加读写速度
         */
        Workbook workbook = new HSSFWorkbook();
        //创建一个工作表sheet
        Sheet sheet = workbook.createSheet("03版写入测试");
        //创建一行(0表示创建的是第一行)
        Row row1 = sheet.createRow(0);
        //创建一个单元格(这个单元格表示的是第一行第一列的单元格,即坐标(1,1))
        Cell cell11 = row1.createCell(0);
        //给这个单元格赋值
        cell11.setCellValue("坐标(1,1)");
        //生成Excel文件(使用io流),注:文件后缀要与excel版本对应
        FileOutputStream fileOutputStream = new FileOutputStream(PATH + "03版excel测试写入.xls");
        //写入
        workbook.write(fileOutputStream);
        //文件写完后关闭流
        fileOutputStream.close();
        System.out.println("03版excel创建完成");
        //若想要创建07版本仅需修改两处,1.创建工作簿出改为new XSSFWorkbook(); 2.生成文件名后缀要对应07版本改为.xlsx
    }
}

当写入大量数据时03版和07版的区别
大文件写入03版(HSSF):
优点:写入过程中不操作磁盘,而是先都写入缓存,最后一次性写入磁盘。
缺点:最多写入65536行数据,超出则抛出异常。

大文件写入07版(XSSF):
优点:可以写入较大数据量,如10万。
缺点:写入数据非常慢,非常耗内存,当数据量过大也会内存溢出,如100万。

正因为07版XSSF有这些缺点所以有了plus版SXSSF
SXSSF:可以写入非常大数据量百万级,写入速度快,占用内存少。过程中会产生临时文件,需要清理。(如广泛使用,仍需大量内存)。
测试写入速度

    @Test
    public void testSpeed() throws Exception {
        long beginTime = System.currentTimeMillis();
        //创建一个工作簿
        Workbook workbook = new HSSFWorkbook();
        //创建一个工作表sheet
        Sheet sheet = workbook.createSheet("03版写入速度测试");
        //写入数据
        for (int rowNum = 0; rowNum < 65536; rowNum++) {
            //循环创建行,注意03版最多写入65536行
            Row row = sheet.createRow(rowNum);
            for (int cellNum = 0; cellNum <= 6; cellNum++) {
                //循环创建单元格,这里每行5个
                Cell cell = row.createCell(cellNum);
                cell.setCellValue(cellNum);
            }
        }
        System.out.println("数据准备完成");
        //生成Excel文件(使用io流),注:文件后缀要与excel版本对应
        FileOutputStream fileOutputStream = new FileOutputStream(PATH + "03版excel测试写入速度.xls");
        //写入
        workbook.write(fileOutputStream);
        //文件写完后关闭流
        fileOutputStream.close();
        //清除临时文件,使用SXSSF时开启下面这句话
        //((SXSSFWorkbook)workbook).dispose();
        long endTime = System.currentTimeMillis();
        System.out.println("数据写入完成,耗时:" + (double) (endTime - beginTime) / 1000);
        //同理,测试XSSFWorkbook和SXSSFWorkbook时,只需修改创建的工作簿对象和生成文件后缀名
    }

在这里插入图片描述
其他记录文章
POI读取Excel
POI读取excel中公式

java使用poi生成excel 使用poi生成excel通常包含一下几个步骤 创建一个工作簿 创建一个sheet 创建一个Row对象 创建一个cell对象(1个row+1个cell构成一个单元格) 设置单元格内容 设置单元格样式. 字体 字体大小 是否加粗 保存 关闭流对象 生成一个工作簿 2010以上格式使用XSSFWorkBook对象, 2003格式使用HSSFWorkBook对象, 其他对象操作基本一样. 生成2003格式 public void test1() { HSSFWorkbook ... 阅读详情

相关推荐

POI导出excel

依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <a

SINGLEP的博客 524

POI创建excel

创建文件 package Yue.fayang.excel; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import java.awt.geom.Area; import ja.

冬日暖阳的博客 1800

Java 整合Apache POI 以及 Easy Excel 操作 Excel 文件

Java领域解析、生成操作Excel一般有 Apachepoi与Easy Excel 两种方法。Apachepoi存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。所以我们先介绍一下Easy Excel方法EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。

pioneer_fearless的博客 473

java poi 创建 excel_java poi操作excel文件 (新建Excel文件 添加行列、单元格)

[java]代码库/*** 新建一个Excel文件,里面添加5行5列的内容,再添加两个高度为2的大单元格。** @param fileName*/public void writeExcel(String fileName) {// 目标文件File file = new File(fileName);FileOutputStream fOut = null;try {// 创建新的Excel 工...

weixin_31443757的博客 720

最新Apache POI 5.2.3jar包和源码

最新Apache POI 5.2.3jar包和源码

Vector CANape的使用记录

开门见山,今天想和大家分享下CANape使用记录,分享原因是近日在分析一个客户现场软件问题时,需要用到CANape来实时的监测ECU中的变量,因为之前对CANape的认知比较浅薄,觉得标定工程师使用他就足够了,但是这次的经历让我觉得需要写点东西来记录自己学习并使用他的过程。 相信大家能够在网上找到很多关于如何使用CANape的文章,从新建Project到后面的数据的观测、保存以及回放等等。我个人也是这么学过来的,所以我不打算从那些方面着手去描述如何使用她,而是根据我的真实使用过程以及问题的抛出到如何解决来

2万+

java操作poi_java如何使用poi对Execl简单写操作

java如何使用poi对Execl简单写操作如何进行Java使用poi对Execl简单写操作呢?下面是小编给大家提供的代码,大家可以参考阅读,更多详情请关注应届毕业生考试网。java使用poi对Execl简单写操作public class WriteExecl {public void writeExeclTest() throws Exception{OutputStream os = new ...

weixin_39927683的博客 92

PLC期末速成——顺序功能图转梯形图

一、根据顺序功能图写出梯形图程序 顺序功能图: 梯形图: 1、程序段1,系统运行标志M0.0的启-保-停控制电路。 2、程序段2,PLC上电与逆行,初始化脉冲M1.0激活初始化步M2.0。 3、程序段3,当M2.0初始化步为活动步,并且M0.0系统运行标志位为1时,置位M2.1步,复位M2.0步。 4、当M2.1为活动步,并且I0.3中液位传感器为1时,置位M2.2步,复位M2.1步。 5、程序段5,当M2.2为活动步,并且I0.2高液位传感器为1时,置位M2.3步,复位M2.2步。 6、程序段

qq_52251819的博客 1万+

java操作Excel两种方式EasyExcel 和POI

EasyExcel 会将 Excel 数据和 Java 对象之间绑定起来。2.创建跟 Excel 数据格式对应的 Java 类。二、EasyExcel。

2302_77426533的博客 555

Carla学习笔记(一)服务器跑carla本地显示窗口

其中host后替换为你的服务器IP,-carla-rpc-port和-p后为端口号,需要一致。python3 manual_control.py也可以替换为其他python脚本。因为电脑配置不够,所以在服务器跑carla,本地运行PythonAPI里的样例。把carla仓库的PythonAPI拷贝到本地,或者直接去官方里下载一下。

做题记录 4977

【Cadence软件技巧集萃】从Capture到Allergo——分布演示从原理符号导出到网络表

Cadence软件功能多样、性能强大,但是使用起来颇费步骤,尤其是从原理图到网络表的导入步骤,没有经过上手实践还真不一定一次就能搞定哩。本文笔者用将分步演示:1、在Capture软件上绘制原理图;2、将原理图导出网络表;3、在Allergo软件上更新网络表;希望给予使用Cadence的读者有效的帮助1、本文简述了建立Capture项目的步骤,演示了调用元件符号库的方法,并绘制了电气原理图;2、针对加载元件封装库可能遇到的问题,做了排查步骤建议;

qq_33175704的博客 2534

java excel poi hssf_Java POI 实现Excel文件读写操作

写操作:package com.zhao.poi;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.apache.poi.hssf.usermodel.HSSFCell;import org....

weixin_28929351的博客 173

Ubuntu20.04复现instant-ngp,自建数据集,导出mesh

本次仅仅记录一下自己复现instant-ngp的过程,如果里面的参考有冒犯到原博主请联系我删除,本人也是nerf的小白一枚,可以一起交流学习神经辐射场,希望大家在复现instant-ngp的时候少走一些坑,情况允许下可以去复现一下npg-pl和nerfStudio,最后希望大家一起进步。看到一些博主说葵司的npg_pl也不错,而且葵司是台湾人,在youtube上也有讲解的视频。渲染的效果还是可以的,相对于源码来说还是有点模糊,我一些参数也没有设置,直接就拉进来进行渲染,速度是非常快的。

weixin_59961223的博客 9451

selenium excel java_Java自动化——使用Selenium+POI实现Excel自动化批量查单词

读写Excel并保存4.1 创建Excel文件并写入单词新建一个Excel,然后在最左边第一列填入一些单词,注意,不要有空行,本文代码中没有带异常处理,空行会报错。 4.2 编写Excelio类,编写read方法利用poi框架,与普通文件读写异曲同工,代码如下: public Workbook read(int columnIndex, int count) throws IOExcepti...

weixin_39624360的博客 319

【LLC快速上手系列】LLC轻载时,死区时间怎么调才对?别再傻傻乱搞了!

死区时间,就是指。如果你死区设得好,就能让开通前 ( V_DS to 0 ),完美实现!

weixin_43199439的博客 1856

4.2 多智能体系统的严格隔离机制:防止上下文污染与隐私数据脱敏实战

本文探讨了多智能体系统中上下文信息共享带来的安全风险与解决方案。研究发现,随着Agent数量增加,上下文信息泄露概率呈指数级上升,可能导致跨Agent错误传播、隐私泄露等问题。文章提出分层隔离架构,将上下文划分为全局共享和本地私有两部分,并通过命名空间隔离、递归压缩和隐私过滤技术确保数据安全。技术实现上,建议为每个子Agent创建独立状态空间,采用原子化更新和读写锁控制避免状态竞争。隐私保护方面,结合正则匹配和命名实体识别技术进行敏感数据过滤,确保符合GDPR等法规要求。这些措施共同构建了可靠、安全且合规的

公众号:AI前沿侦探 225

Java使用POI实现Excel导入导出

Java使用POI实现Excel导入导出 POI简介(Apache POI) Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 HSSF - 提供读写Microsoft Excel格式档案的功能。(.xls) XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。(.xlsx) HWPF - 提供读写Microsoft Word格式档案的功能。 HSLF - 提供读写Microsof

黑马Jack的博客 1040

AI爬虫:一文讲通AI爬虫技术和原理,及34个AI爬虫工具推荐

AI 爬虫 是一种结合了传统网络爬虫技术和人工智能(AI)技术的工具,能够更智能、高效地从网页中提取和处理数据。与传统爬虫相比,AI 爬虫能够更好地处理动态内容、复杂网页结构以及非结构化数据,同时具备数据清洗、分类、情感分析等高级功能。

数据知道的博客 1万+

poi使用

利用poi操作excel 备忘如下 写操作: [code="java"] FileOutputStream fos = new FileOutputStream("d:/stock.xls"); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet s = wb.createSheet(); wb.setSheetName...

wodar 213

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java使用poi对Execl简单写操作

Java使用poi对Execl简单写操作 public class WriteExecl { public void writeExeclTest() throws Exception{ OutputStream os = new FileOutputStream("F:/execl/writeTest2.xlsx"); //Workbook wb = new HSSFWorkbo...

weixin_45121123的博客 158

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android POI对Excel进行数据读写

使用的是POI-3.8 HSSFWorkbook  ----  对2003版本的Excel的支持   XSSFWorkbook   ----  对2007版本以及更高版本的支持 public void upWorkbook(String fin) throws IOException { FileInputStream excelFileInputStream ...

青冘的技术学习博客 1813

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java poi 生成excel表格并下载

我使用的是Springboot框架开发的。首先需要在pom.xml文件中引入以下maven包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> ...

郄梦岩的博客 1032

Java如何利用poi创建excel并写入数据

该部分主要是在做testNG数据驱动时候的一个需求,但是写入excel其实应用场景很多,大家可以参考一下演示代码。其实,除了利用POI写入excel,还可以考虑csv文件写入,文章中也写了一个工具类可供参考。 1、利用POI创建excel写入数据 首先,导入依赖,在pom文件增加以下依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>p

厦门在乎科技 1279

Java POI 实现Excel文件读写操作

写操作: package com.zhao.poi; import java.io.File;import java.io.FileOutputStream;import java.io.IOException; import org.apache.commons.io.FileUtils;import org.apache.poi.hssf.usermodel.HSSFCell;im...

weixin_30367543的博客 117

(三)JAVA使用POI操作excel

1,单元格对齐方式 Demo8.java package com.wajpzywj.exceldemo.main; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.userm...

萍踪缘的博客 199

java excel 多线程_使用java-POI进行Excel多线程操作demo

package com.alex.frameworkDemo.poi;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.concurrent.CountDownL...

weixin_39873456的博客 475
上一篇: Jsoup解析网页
下一篇: Java使用POI读取Excel文件
ITarmi
博客等级 码龄9年 157粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值