poi excel 2003怎么操作?poi读取excel 2003格式

在使用 Apache POI 处理 Excel 2003 格式(即 .xls 二进制格式)时,你需要使用 HSSF 接口。

以下是关于使用 POI 操作 Excel 2003 文件的核心要点、代码示例和注意事项:

【狂神说Java】POI及EasyExcel一小时搞定通俗易懂
加载中
【狂神说Java】POI及EasyExcel一小时搞定通俗易懂

核心类对应关系

概念 Excel 2003 (.xls) Excel 2007+ (.xlsx)
工作簿 HSSFWorkbook XSSFWorkbook
工作表 HSSFSheet XSSFSheet
行 HSSFRow XSSFRow
单元格 HSSFCell XSSFCell
样式 HSSFCellStyle XSSFCellStyle

注意:HSSF 代表 “Horrible SpreadSheet Format”,是 POI 中较老的技术实现,基于二进制格式。


Maven 依赖

确保你引入了正确的 POI 依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version> <!-- 请使用最新稳定版 -->
</dependency>

poi excel 2003怎么操作?poi读取excel 2003格式

如果你需要处理 Excel 2007+ 格式,还需要引入 poi-ooxml,但对于纯 2003 格式,只需 poi 即可。


完整代码示例

✅ 示例 1:创建并写入 Excel 2003 文件

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.;
import java.io.FileOutputStream;
import java.io.IOException;
public class Excel2003Writer {
    public static void main(String[] args) {
        // 1. 创建工作簿 (HSSFWorkbook 对应 .xls)
        Workbook workbook = new HSSFWorkbook();
        // 2. 创建工作表
        Sheet sheet = workbook.createSheet("测试Sheet");
        // 3. 创建行 (索引从0开始)
        Row row = sheet.createRow(0);
        // 4. 创建单元格并设置值
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello Excel 2003");
        // 5. 设置单元格样式(可选)
        CellStyle style = workbook.createCellStyle();
        Font font = workbook.createFont();
        font.setBold(true);
        font.setColor(IndexedColors.RED.getIndex());
        style.setFont(font);
        cell.setCellStyle(style);
        // 6. 写入文件
        try (FileOutputStream outputStream = new FileOutputStream("output_2003.xls")) {
            workbook.write(outputStream);
            System.out.println("Excel 2003 文件创建成功!");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

✅ 示例 2:读取 Excel 2003 文件

import org.apache.p

poi excel 2003怎么操作?poi读取excel 2003格式

oi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.; import java.io.FileInputStream; import java.io.IOException; public class Excel2003Reader { public static void main(String[] args) { String filePath = "output_2003.xls"; try (FileInputStream fis = new FileInputStream(filePath); Workbook workbook = new HSSFWorkbook(fis)) { // 使用 HSSFWorkbook 读取 .xls Sheet sheet = workbook.getSheetAt(0); Row row = sheet.getRow(0); Cell cell = row.getCell(0); // 获取单元格值 if (cell != null) { switch (cell.getCellType()) { case STRING: System.out.println("单元格值: " + cell.getStringCellValue()); break; case NUMERIC: System.out.println("单元格值: " + cell.getNumericCellValue()); break; default: System.out.println("未知类型"); } } } catch (IOException e) { e.printStackTrace(); } } }

重要限制与注意事项

⚠️ 行数限制

  • Excel 2003 (.xls):最多支持 65,536 行 和 256 列。
  • 如果数据量超过此限制,必须使用 Excel 2007+ 格式(.xlsx),它支持 104 万行以上。

⚠️ 性能问题

  • HSSFWorkbook 将整个文件加载到内存中,对于大文件(即使未超行数限制)可能导致 OutOfMemoryError。
  • 如果处理大文件,建议使用 SXSSFWorkbook(针对 .xlsx)或考虑流式读取(但 HSSF 本身不支持流式读取,这是其设计缺陷)。

poi excel 2003怎么操作?poi读取excel 2003格式

⚠️ 格式兼容性

  • HSSF 不支持 Excel 2007+ 的新特性(如:图表、图片、宏、数据透视表等高级功能)。
  • 如果你需要写入图片、图表等,必须使用 XSSFWorkbook(.xlsx 格式)。

如何自动判断文件格式?

如果你不确定用户上传的文件是 .xls 还是 .xlsx,可以使用 WorkbookFactory 自动识别:

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import java.io.FileInputStream;
public class AutoDetectWorkbook {
    public static void main(String[] args) throws Exception {
        String filePath = "file.xls"; // 或 .xlsx
        try (FileInputStream fis = new FileInputStream(filePath)) {
            // 自动识别格式并创建对应的 Workbook 对象
            Workbook workbook = WorkbookFactory.create(fis);
            // 后续操作...
            Sheet sheet = workbook.getSheetAt(0);
            System.out.println("工作表名称: " + sheet.getSheetName());
            workbook.close();
        }
    }
}

推荐:除非有特殊需求(如兼容极老系统),否则建议优先使用 .xlsx 格式,因为它的功能更强大、性能更好、更稳定。


  • 使用 HSSFWorkbook 处理 Excel 2003 (.xls)。
  • 注意 65,536 行 的限制。
  • 对于新项目,建议直接使用 .xlsx 格式(XSSFWorkbook)。
  • 使用 WorkbookFactory.create() 可以自动兼容两种格式。

如有更多具体问题(如样式设置、合并单元格、读取大数据量等),欢迎继续提问!

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/480891.html

赞 (0)
债券价格excel怎么算?债券收益率计算公式
上一篇 2026年7月10日 16:15
H3C路由器域名解析失败怎么办?如何设置DNS服务器
下一篇 2026年7月10日 16:21

相关推荐

  • 什么是单点登录认证?单点登录认证的原理是什么

    关于单点登录认证的问题在数字化转型的深水区,企业IT架构的复杂性呈指数级增长,传统的“烟囱式”应用架构导致用户需要在多个系统中反复登录,不仅降低了工作效率,更带来了巨大的账号管理负担和安全风险,单点登录(Single Sign-On, SSO)作为解决这一痛点的核心技术方案,其稳定性、安全性及兼容性直接决定了企……

    2026年5月30日
    4200
  • 绿云VPS越南VPS测评,回程直连实测数据与性能表现,越南VPS怎么样

    绿云越南VPS位于越南胡志明市核心数据中心,本次测评针对其入门级方案进行深度压测,重点考察国内用户的直连回程质量及综合性能表现,以下为实测数据与详细解析, 基础硬件与核心配置本次测试机型为绿云越南VPS基础款,硬件配置如下:测试项目实测数据CPU型号Intel Xeon E5-2680 v4 @ 2.40GHz……

    2026年4月28日
    6000
  • Android应用开发难吗?新手如何快速入门

    Android应用开发服务器深度测评:性能、稳定性与成本效益的全面解析在移动互联网时代,Android应用的后端支撑能力直接决定了用户体验的流畅度与业务的扩展上限,对于开发者而言,选择一款合适的云服务器不仅是基础设施的搭建,更是关乎应用生命周期管理的关键决策,本次测评基于2026年的最新技术环境,针对主流云服务……

    2026年6月16日
    2500
  • HTML用什么开发工具最好,新手推荐几款免费好用的编辑器

    开发HTML文件的高效工具选择,直接决定了前端开发的效率与代码质量,在当前的开发环境中,Visual Studio Code(VS Code)是综合体验最佳的通用选择,而WebStorm则是追求极致智能化的企业级首选,对于初学者而言,VS Code因其轻量、免费且插件生态丰富,成为了事实上的行业标准;而对于大型……

    2026年2月21日
    16000
  • AIoT套件盒怎么用?物联网开发板选购指南

    AIoT套件盒是连接物理世界与数字智能的标准化入口,通过集成边缘计算、传感器融合与云端协同能力,它能显著降低物联网开发门槛,让非专业开发者也能快速构建智能家居、工业监控或智慧农业等场景应用,什么是AIoT套件盒及其核心价值AIoT套件盒并非单一的硬件设备,而是一个软硬件一体化的解决方案包,想象一下,它就像是一个……

    2026年6月13日
    3000
  • 为什么ASP.NET用户不存在?解决方法汇总

    在ASP.NET应用中处理用户身份验证时,开发者经常遇到系统报告“用户没有”或“用户不存在”的情况,这通常并非指物理用户缺失,而是指当前请求上下文中无法识别有效的、经过认证的用户身份信息,或者用户不具备执行特定操作所需的权限或属性,核心原因及专业解决方案如下: 核心原因深度解析身份验证未发生或失败:用户未登录……

    2026年2月7日
    13000
  • ios开发如何发布到app store,ios应用发布流程及注意事项

    iOS开发发布:高效、合规、可持续的上架全流程指南成功将App上线App Store,远不止“提交审核”那么简单,真正的iOS开发发布,是技术、流程与策略的系统工程,需兼顾开发效率、合规性、用户体验与长期运营,本文基于苹果最新政策(2024年Q2),结合一线团队实操经验,提供一套可落地的发布方法论,发布前:三大……

    2026年4月14日
    7000
  • 云服务器租赁协议怎么签?云服务器租赁协议模板

    关于云服务器的租赁协议在数字化转型的浪潮中,云服务器已不再仅仅是技术的代名词,而是企业核心业务稳定运行的基石,对于众多站长、开发者及中小企业而言,选择一款性价比极高、性能稳定且售后响应及时的云服务商,往往能解决80%的技术运维痛点,经过长达数月的深度测试与多场景压力验证,我们为您带来这份关于2026年度高性价比……

    程序开发 2026年6月7日
    3900
  • 苏州本地物理机租用机房有哪些,苏州物理机租用哪家好?

    苏州本地物理机租用机房主要集中在中国电信、中国移动和中国联通三大运营商的自建数据中心,以及以苏州国科数据中心为代表的中立机房,不同机房在带宽质量、价格和运维服务上各有侧重,苏州物理机租用机房的三种主流选择运营商机房:网络覆盖的基石中国电信苏州国际数据中心位于苏州工业园区,是华东地区重要的电信枢纽,优势在于电信骨……

    2026年7月28日
    600
  • Cloudcone VPS测评,美国17.12美元/年实测数据与性能表现,Cloudcone VPS怎么样,Cloudcone VPS测评

    Cloudcone VPS以17.12美元/年的超低入门价格,凭借基于KVM架构的稳定性与洛杉矶CN2 GIA线路的高性价比,成为2026年个人开发者及小型博客搭建的首选高性价比方案,但在高并发场景下表现一般,Cloudcone VPS核心配置与价格体系解析在2026年的虚拟主机市场中,Cloudcone依然保……

    2026年5月13日
    6000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注