Java中Excel文件解析(POI简介及基本使用)

这篇具有很好参考价值的文章主要介绍了Java中Excel文件解析(POI简介及基本使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是POI

在Java技术生态圈中,可以进行Excel文件处理的主流技术包括: Apache POI 、 JXL 、 Alibaba EasyExcel 等。

其中各个技术都有最适合的场景

Apache POI 基于 DOM 方式进行解析,将文件直接加载内存,所以速度较快,适合 Excel 文件数据量不大的应用场景。

JXL 只支持Excel 2003以下版本,所以不太常见。

Alibaba EasyExcel 采用逐行读取的解析模式,将每一行的解析结果以观察者的模式通知处理(AnalysisEventListener),所以比较适合数据体量较大的 Excel 文件解析。

本文我们使用POI作为处理Excel文件的技术。

POI适用场景

Apache POI 提供给 Java 程序对 Microsoft Office 格式档案进行读写功能的 API 开源类库。 它分别提供对不同格式文件的解析:

HSSF 提供读写Microsoft Excel格式档案的功能。
XSSF 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF 提供读写Microsoft Word格式档案的功能。
HSLF 提供读写Microsoft PowerPoint格式档案的功能。
HDGF 提供读写Microsoft Visio格式档案的功能。

特别的是当我们解析Excel文件时:

HSSF 用于解析旧版本(*.xls)Excel文件,由于旧版本的Excel文件只能存在65535行数据,所以目前已经不常用。所以目前主要采用 XSSF 进行新版本(*.xlsx)Exce文件的解析

WorkBook(Excel文件的解析)

如何写入Excel文件,特别的是。文件由字节流输入,所以当使用结束时需要close()关闭。

try (Workbook workbook = new XSSFWorkbook();
				FileOutputStream fos = new FileOutputStream("c:\\test\\temp.xlsx")) {
    workbook.write(fos);
} catch (IOException e) {
    e.printStackTrace();
}

当解析Excel文件时需要这样写

// 输入流
FileInputStream fis = new FileInputStream("c:\\test\\1627356554991.xlsx");

// Excel文件对象
Workbook workbook = new XSSFWorkbook(fis);

创建Sheet工作簿



// 按照自定义名称创建工作簿
Sheet sheet2 = workbook.createSheet("自定义工作簿2");

创建数据行

通过Sheet工作簿来进行数据行Row的获取或者创建。

Row row = sheet.createRow(0);//创建数据行

int first = sheet.getFirstRowNum();//获取首行下标

int last = sheet.getLastRowNum();//获取尾行下标

Row row = sheet.getRow(0);//根据下标获取行

创建单元格

通过Row数据行进行Cell单元格获取或者创建。

Cell cell0 = row.createCell(0);//根据下标创建单元格

Cell cell = row.getCell(1); //根据下标获取单元格

设置单元格 格式文章来源地址https://www.toymoban.com/news/detail-480106.html

            DataFormat dateFormat = wbk.createDataFormat();
			Short formatCode = dateFormat.getFormat("yyyy-MM-dd HH:mm:ss");
			System.out.println("单元格式编码为"+formatCode);
			CellStyle cellStyle =wbk.createCellStyle();//创建单元格格式
			cellStyle.setDataFormat(formatCode);

            cell04.setCellValue("创建日期");
            cells04.setCellStyle(cellStyle); //设置单元格格式
			cells04.setCellValue(new Date());// 保存当前时间到单元格

到了这里,关于Java中Excel文件解析(POI简介及基本使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JAVA解析EXCEL(JExcelAPI,POI,EasyExcel)

    demo代码:https://github.com/RwTo/excel-demo JAVA解析Excel 一般有三种方式 JExcelAPI POI EasyExcel 官网:https://jexcelapi.sourceforge.net/ 仅支持 2003 版本的Excel 也就是 后缀名为 xls 的文件 采用流式处理模型,逐行读取和写入 ——因此 可以处理大量数据,一般不会出现OOM Demo 读xls 文件 写xls 文件

    2024年02月15日
    浏览(40)
  • Apache POI | Java操作Excel文件

    目录 1、介绍 2、代码示例 2.1、将数据写入Excel文件 2.2、读取Excel文件中的数据 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。 🦅主页:@逐梦苍穹 📕您的一

    2024年02月20日
    浏览(54)
  • Java excel poi 使用HSSFWorkbook 导出的excel wps能打开office打不开问题解决 Excel无法打开xx.xlsx,因为文件格式或扩展名无效......

    1.在开发代码中涉及到报表导出 xlsx文件 office打不开问题 JavaPOI导出Excel有三种形式,他们分别是 1.HSSFWorkbook 2.XSSFWorkbook 3.SXSSFWorkbook。 pom文件如下 检查创建sheet代码如下 代码中用了 HSSFworkbook 去创建Sheet 导致office打不开原因就在这里 HSSFworkbook 解释如下: HSSFWorkbook:是操作Exc

    2024年02月16日
    浏览(48)
  • poi实现excel文件导入导出(基本数据导出、含格式导出、含批注导出、含图片图表导出)——springboot

    本文主要是介绍springboot + poi实现基本的excel文件导入导出,包含数据导出导入时数据的其他需求校验,导出含有批注信息、导出含有图片信息、导出含有图表信息等的介绍等等,主要是一个demo尽可能简单明了的来介绍相关功能即可。有什么问题可以在留言哦!并在文章末尾附

    2024年02月08日
    浏览(79)
  • Java POI (2)—— Excel文件的上传与导出(实例演示)

             这里是一个demo的流程图,下面按照这个流程图做了一个简单的实现,有部分判断没有加上,实际操作中,可以根据自己的需求进行增加或者修改。并且此处还是在接受文件传入后将文件进行了下载,保存到本地的操作,这个要按照具体情况具体分析,看需求是否

    2024年02月11日
    浏览(49)
  • 苍穹外卖集成 Apache POI Java实现Excel文件的读写下载

    Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies were updated to their latest versions to pick up security fixes and other improvements. A summary of changes is available in the Release Notes. A full list of changes is a

    2024年02月09日
    浏览(56)
  • Java使用POI导出Excel

    在项目开发中往往需要使用到Excel的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。 操作Excel目前比较流行的就是 Apache POI 和阿里巴巴的 easyExcel ! 废话不多说,开始撸起来!!! POI官网;https://poi.apache.org/ POI官网API:https://poi.

    2024年02月04日
    浏览(43)
  • 【193】Java8调用POI 5.2.5生成带图片的Excel文件

    本文假定 Excel 文件中保存的是员工数据,并且数据中带有员工的头像。代码支持的图片格式有png、bmp、jpg、gif。但是这里需要注意,有些网站上下载的图片虽然后缀名是 jpg,但是文件二进制内容的格式是 WebP 的。Java8 目前官方api不支持 WebP ,本文不涉及webp相关话题,本文代

    2024年02月04日
    浏览(35)
  • java中使用POI生成Excel并导出

    注:本文章中代码均为本地Demo版本,若后续代码更新将不会更新文章 根据从数据库查询出的数据,将其写入excel表并导出 我的想法是通过在实体属性上写自定义注解的方式去完成。因为我们在代码中可以通过反射的方式去获取实体类中全部的注解及属性名称等等。我们可以

    2024年02月16日
    浏览(45)
  • Java使用POI读取Excel名称管理器

    本文主要介绍如何使用poi读取到Excel的名称管理器中的内容。并且定位到单元格。 在企业的开发中可能需要通过名称管理器定位到某个单元格,然后在单元格上生成签名。 Java:Jdk1.8 poi:5.2.3 maven依赖(pom.xml): poi的WorkBook有个getNames方法可以读到名称。 Excel的名称在下图中新建

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包