关于用PIO读取Excel2003和2007的不同版本处理

Java实现Excel模板读写操作详解 在现代企业级应用开发中,Excel模板的读写操作已成为数据处理、报表生成和自动化办公的重要组成部分。通过模板读写,开发者可以实现数据动态填充、格式统一管理以及业务流程自动化,显著提升系统与用户之间的交互效率。尤其在Java开发领域,借助Apache POI等开源库,能够高效地实现Excel文件的读取、写入与样式控制。本章将从Excel模板的基本概念出发,介绍其典型应用场景,并阐述其在Java生态中的核心地位,为后续深入掌握POI库的使用奠定理论基础。 阅读详情

对于微软2003和2007版本的Excel读取,pio3.7对于2003是有效的,但对于2007版本来说,读取的时候一般会报错。

可以从apache上下载3.8的版本,在处理的过程中,如下工具类:

 public static ArrayList<ArrayList<String>> readExcel(File filePath) {
  
  
  Workbook wb = null;
  try {
       FileInputStream fis = new FileInputStream(filePath);
      wb = new XSSFWorkbook(fis);
      logger.warn("当前Excel版本为2003!");
     return getExcelTable(wb);
  } catch (Exception e) {
      logger.warn("当前Excel版本为2007!");
      try {
            wb = new HSSFWorkbook(new FileInputStream(filePath));
             return getExcelTable(wb);
   } catch (Exception e1) {
          e1.printStackTrace();
           return null;
   }
  }
 }
 
 public static ArrayList<ArrayList<String>> getExcelTable(Workbook wb) {
  ArrayList<ArrayList<String>> table = new ArrayList<ArrayList<String>>();
  Sheet sheet = wb.getSheetAt(0);
  for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) {
   Row row = sheet.getRow(i);
   if (row != null) {
    ArrayList<String> record = new ArrayList<String>();
    for (int j = 0; j < row.getLastCellNum(); j++) {
     Cell cell = row.getCell((short) j);
     // 判断单元格数据类型,这个地方值得注意:当取某一行中的数据的时候,需要判断数据类型,否则会报错
     // java.lang.NumberFormatException: You cannot get a string value from a numeric cell等等错误
     if (cell.getCellType() == 0) {
      record.add(String.valueOf(Math.round(cell.getNumericCellValue())));
      // System.out.print(i + "/t" + j + "/t" + Math.round(cell.getNumericCellValue())); // 一般的数据类型在excel中读出来都为float型
     } else {
      record.add(cell.getStringCellValue());
     }
    }
    table.add(record);
   }
  }
  return table;
 }

PIO操作Word依赖的Jar PIO操作Word依赖的Jar,包含poi-3.17.jar poi-examples-3.17.jar poi-excelant-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schemas-3.17.jar poi-scratchpad-3.17.jar poi-tl.jar 立即下载

相关推荐

【保姆级教程】不到一元32位芯片 DIY迷你时钟

基于不到一元的CH32V003F4P9芯片制作的迷你多功能时钟。

twen51的博客 1815

poi导出excel,poi3.8包中没有org.apache.poi.ss.usermodel.CellType;

先做完的导出excel,后来需要一个excel数据导入MySQL数据库的功能,当时做的时候,由于Java对word的2003版本和2007版本在处理上不同,得判断然后分别得创建HSSFWorkbook和XSSFWorkbook两个不同的对象,而XSSFWorkbook对象在低版本(我用的poi3.1)没有包可以导入,必须用高版本的jar包,所以将poi3.1变为了poi3.8。 jar包导入之后...

P_Doraemon的博客 2万+

从零搭建Python接口自动化测试框架:pytest+requests+Allure实战指南

接口自动化测试是现代软件工程中保障交付质量、提升测试效率的核心实践。其基本原理是通过脚本模拟客户端请求,对服务端接口进行自动化的功能验证、性能探测与回归测试,从而替代重复的手工操作。在技术实现上,Python凭借其简洁语法和丰富的生态,成为构建此类框架的主流选择,其中pytest测试框架、requests HTTP库和Allure报告工具构成了技术栈的黄金组合。这套技术方案的价值在于,它能将测试用例数据(如YAML文件)与执行逻辑分离,实现数据驱动测试,并通过持续集成(如Jenkins)无缝融入DevOps

weixin_31822733的博客 378

java pio excel2003/2007

兼容2003和2007的代码 package lilong; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; i

lilongherolilong的专栏 1531

【算法】克里金kriging参数值预测模型

模型中特征值2个,目标值1个,data数据集如图所示。搭建kriging参数值预测模型。

weixin_48618536的博客 5059

国科大学习资料--图像处理(彭思龙、杨戈)--2020年期末考试题解析(学长整理分析)

在对20年卷子分析前,先看看19年卷子的解析(后面有20年的变化,由于从核心课调整到了普及课,20年的卷子相对简单,但是还是有很多细节) 解析:(字写的不好别嫌弃!!!!) 20年的卷子 第一题:和19年基本一致,但是加了高斯核计算费用,要算一个节省计算成本比率,所以去多看看PPT 第二题:和19年基本一致,加了证明两个高斯卷积仍然是高斯卷积,相当于19年题2和3结合 第三题:采样定理,和19年基本一致,但要注意加了证明 第四题:考了形态学提取图像边界 第五题:直方图,和19年一

无名何许人的博客 4364

poi和easyExcel总结

1、poi和easyExcel二者区别 比如100w行数据,Apache poi是先直接全部加载到内存再处理; 而alibaba的easyexcel是通过磁盘一行行处理,所以不会有内存溢出问题,但这是时间换空间。 2、poi A、03版excel和07版excel区别: 1)前者最多65536行,后者没有限制; 2)文件后缀不同,一个xls,另一个是xlsx。 3)poi引入依赖不同 B、写 (1)03版excel生成 首先明确一个excel是有几部分组成? 工作簿、工资表、行、单元格 所以 1)创建一个工

Zb20171027的博客 1352

Python爬虫实战:医院科室排班智能采集系统 - 从零构建合规且高效的医疗信息爬虫(附CSV导出 + SQLite持久化存储)!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 1299

Java POI Excel(纯java操作excel的api)--转载收藏

2010-03-17 21:35POI官方网址:http://poi.apache.org/POI的功能实在很强大,而且是apache的子项目,它下面又包含一些Component,比如处理Excel XLS,PowerPoint PPT,Word DOC,Outlook MSG,Excel XLSX等,下面就简单讲下poi处理excel的一些内容。下面的jar包来源于当

lhy55040817的专栏 1999

【电动汽车再生制动控制技术(万字长文,图文并茂)】

电动汽车再生制动的基本原理是:通过具有可逆作用的电动机/发电机来实现电动汽车动能和电能的转化。在汽车减速或制动时,可逆电机以发电机形式工作,汽车行驶的动能带动发电机将汽车动能转化为电能并储存在储能器(蓄电池或超级电容器)中;在汽车起动或加速时,可逆电机以电动机形式工作,将储存在储能器中的电能转化为机械能给汽车。这对于改善汽车的能量利用效率,延长电动汽车的行驶距离是至关重要的。

优快云-新能源汽车研发测试专业博主 1578

Playwright MCP:开启浏览器自动化的新篇章

在当今数字化时代,浏览器自动化技术在众多领域发挥着至关重要的作用,从简单的网页爬取到复杂的自动化测试,再到智能代理与网页的交互等场景,都离不开高效、可靠的浏览器自动化工具。而微软推出的项目,正是在这一领域的一次创新性探索,它为开发者带来了全新的视角和强大的功能支持。本文将深入探讨的概念、架构、代码示例、应用场景、注意事项以及未来发展方向,帮助读者全面了解这一前沿技术。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 5266

Pio读取Excel

--request中获取Excel文件 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; CommonsMultipartFile billfile = (CommonsMultipartFile) multipartRequest.getFile("file");

流行的云 659

PCL 平面点云的凹多边形边界提取【2025最新版】

平面点云的凹多边形边界提取及边界轮廓线绘制。博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 7183

POI 读取Excel文件 (常遇问题)和(常用方法)

一、常遇问题 使用new HSSFWorkbook(NEW FileInputStream(excelFile))来读取Workbook,对Excel2003以前(包括2003)的版本没有问题,但读取Excel2007时发生如下异常: org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied DATA appear...

hexiaoli666的博客 2万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

efm32 入门.pdf

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

Java POI读取Excel 2003/2007/2010例子

Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包。 Apache POI 代码例子地址:http://poi.apache.org/spreadsheet/quick-guide.html 需要的PIO jar 地址(Maven): org.apache.poi

情绪 632

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java PIO读取Excel文件

Java读取Excel文件是通过apache 下的PIO来实现的,首先要加入PIO相关的jar包,可以到http://poi.apache.org/进行下载,这里使用的是3.17版本 然后在项目里添加以下的jar包Excel文件有xls和xlsx两种,可以分别HSSFWorkbook和XSSFWorkbook对应实现读取;这里用Workbook,可以同时兼容两种文件的读取。import java.

qq_39968421的博客 1095

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PIO操作Excel,通过文件流判断Excel的版本

import com.fasterxml.jackson.databind.exc.InvalidFormatException; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import java.io.IOException; import java.io.InputStream; import java.io.PushbackInputStream;

one大白(●—●)的博客 990

java maven poi 读取excel表格

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

借人之智,完善自己 7465

poi读excel2007

以前做了很多东西都是jxl写excel文档的,但是,最近有需求要读入excel2007文件的内容,发现jxl对2007不支持,网上找了下,说jxl已经不更新了,但是apache的poi是可以支持的,所有就学了下,现贴出一段poi读取excel的代码,供大家参考,需要的poi的jar包文件,可以去我的空间下载poi,是最新的。代码是项目中的代码,大家可以复制后改动,如果有错误,请指正,谢谢! /*

雪斋 673

【java 菜鸟实践<一>】实现PIO excel更新某个单元格数据(支持excel2003和2007)

背景:在实现自动化测试时,执行完每一条excel测试用例后,需要更新该条用例的测试结果单元格中执行结果,于是在网上苦找方法,都是零碎案例,无法达到预期目的,又由于java功底一般,故自己琢磨写了一个简单的方法解决问题,相信网上大神众多,肯定有更好方式和方法,欢迎大神来拍砖指导。。  package common; import org.apache.poi.hssf.userm

ywb201314的专栏 441

poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算

非常感谢这位同学,转自: http://blog.csdn.net/xiongshengwu/article/details/53696649 /** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @ClassName: Crea

kangkang5201314的博客 1374

Java开发小技巧(六):使用Apache POI读取Excel

在数据仓库中,ETL最基础的步骤就是从数据源抽取所需的数据,这里所说的数据源并非仅仅是指数据库,还包括excel、csv、xml等各种类型的数据接口文件,而这些文件中的数据不一定是结构化存储的,比如各种各样的报表文件,往往是一些复杂的表格结构,其中不仅有我们需要的数据,还有一些冗余的、无价值的数据,这时我们就无法直接用一般数据加载工具直接读取入库了。

kMacro的博客 497

应用poi插件读取excel文件(通用)

有时需要将excel文件的数据导入到数据库中,如何能快速而简单的将excel文件导入对不会的攻城狮们尤为重要,下面就在java项目中实现了该功能

liuyegongzhi的博客 639

POI读写Excel简述之读取

一、POI读取Excel文件(以Excel2003版为例,2007版就是根据文件扩展名xlsx将HSSFWorkbook换为XSSFWorkbook,及其Sheet、Row、Cell也相应替换) //filePath为Excel文件完整路径 1、//创建File对象 File file ...

chy000111的博客 140

Java导出导入Excel方法

Java代码导出导入Excel方法

JohnGene的博客 873

java poi 追加_使用POI 向Excel中追加数据

引言:最近对于Excel 的导出接触的比较多,一直也没有系统的去整理,在此做一个简单的整理,先说如何向Excel中追加数据,至于Excel的导出、导入会在下几篇篇文章中详细描述。希望够共同学习。ok,直接上代码:public static void main(String[] args) {String filePath="D:\\test.xls";// 输出流try {FileInputS...

weixin_33695631的博客 2025
上一篇: volicity语法学习和总结
下一篇: ExtJS01:GridPanel单行中的某列,控制整行数据赋值问题
江南侠客
博客等级 码龄16年 1粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值