使用 Apache POI 在 java 中读取和写入 xls 和 xlsx excel 文件

2024-01-12

我正在编写一个程序,需要读取和写入 Excel 文件,无论格式如何(xls 或 xlsx)。

我知道 Apache POI,但它似乎有不同的类来处理 xls 文件(HSSF)和 xlsx(XSSF)文件。

任何人都知道我如何实现我在这里想做的事情。 (也欢迎使用 POI 以外的 API 的想法)。


很简单,用常用的就可以了电子表格接口 http://poi.apache.org/spreadsheet/how-to.html#user_api

你的代码看起来像这样:

 Workbook wb = WorkbookFactory.create(new File("myFile.xls")); // Or .xlsx
 Sheet s = wb.getSheet(0);
 Row r1 = s.getRow(0);
 r1.createCell(4).setCellValue(4.5);
 r1.createCell(5).setCellValue("Hello");

 FileOutputStream out = new FileOutputStream("newFile.xls"); // Or .xlsx
 wb.write(out);
 out.close();

只要使用通用接口,您就可以使用完全相同的代码读取、写入、编辑现有文件(.xls 和 .xlsx)等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Apache POI 在 java 中读取和写入 xls 和 xlsx excel 文件 的相关文章

  • 给定“java.sql.SQLIntegrityConstraintViolationException”是否可以确定错误的列

    鉴于我有一个类型为 java sql SQLIntegrityConstraintViolationException 的异常 是否可以以编程方式确定错误的列 或多列 我问这个问题是因为我想将错误映射回客户端的数据模型以指示错误的字段 例如
  • “此 GPIO 引脚已存在:”第二次出现 GPIO 1 异常

    我正在 Raspberry pi 和 java 上工作 通过使用 pi4j 使 LED 闪烁 一切都已清除并且工作正常 LED 按照代码闪烁 但是当我第二次运行时 它会导致以下错误 我已经搜索了很多有很多相同的问题没有明确的答案如何解决 任
  • 为什么签名的 Android apk 无法在模拟器上运行

    我已经制作了一个android项目的签名apk 每当我的客户尝试在模拟器上运行它时 他都会遇到以下错误消息 D Android android sdk windows tools gt adb install r abc apk 500 K
  • 何时在java中使用get/set方法[重复]

    这个问题在这里已经有答案了 我想知道何时在我的类中使用 get 和 set 方法 getName setName 以及何时简单classVariable name 反而 classVariable getName 这是使用 set 和 ge
  • 在Excel VBA中将图像(jpg)转换为base64?

    我需要在 Excel 中转换图像 或通过VBA 转为base64 最后我将进行XML输出 我怎样才能做到这一点 我需要引用 DOM 吗 我一直在读书这个问题 https stackoverflow com questions 169907
  • Java SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 给出时区作为 IST

    我有 SimpleDateFormat 构造函数作为 SimpleDateFormat yyyy MM dd T HH mm ss Z 我正在解析字符串 2013 09 29T18 46 19Z 我读到这里 Z 代表GMT UTC时区 但是
  • 如何在首次运行时填充大型 SQLite 数据库

    我正在开发一个基于 SQLite 数据库的字典应用程序 该数据库包含超过 300 000 行 问题在于 最终形式的数据库文件由全文索引表组成 并且重量远远超过150Mb 我通过创建无内容的 fts4 表设法将 db 文件大小降至最低 数据库
  • 如何仅使用命令行运行 Maven 创建的 jar 文件

    我需要一些帮助来尝试使用命令行运行以下 Maven 项目 https github com sarxos webcam capture https github com sarxos webcam capture webcam captur
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • 如何在使用 Web 服务时获取会话对象?

    如何在使用 Web 服务时获取会话对象 服务在两个程序之间调用 如何在使用 Web 服务时获取用户会话对象 不可能使用请求对象获取会话 因为当我们谈论服务时不会有请求或响应 如果您正在与JAX WS https jax ws dev jav
  • 多少次函数调用会导致堆栈溢出

    你好 Android Java 开发者 当一个函数调用一个函数并且该函数调用另一个函数等等时 有多少次调用 堆栈长度 会让我陷入堆栈溢出 有一般经验法则吗 我问的原因是因为我现在对于我的 5 人纸牌游戏来说哪个更有效 设计明智 解决方案一
  • 计算序列中的重复值

    如何使用Excel计算列中的重复数据 Example A B apple 1 apple 2 apple 3 ball 1 bat 1 dog 1 dog 2 gole 1 gole 2 gole 3 gole 4 我认为对于你的情况中的所
  • 从流中过滤/删除无效的 xml 字符

    首先 我无法更改 xml 的输出 它是由第三方生成的 他们在 xml 中插入无效字符 我得到了 xml 字节流表示形式的 InputStream 除了将流消耗到字符串中并对其进行处理之外 是否有一种更干净的方法来过滤掉有问题的字符 我找到了
  • JFrame 类型的方法 ... 未定义

    我正在尝试制作一个带有两个菜单列表的 gui 每个菜单列表有 3 个项目 我的问题是 当我单击某个项目时 出现错误 JFrame 类型的方法 displayList int AirplaneList 未定义 AirplaneControll
  • javaFX,抛出 NullPointerException,位置是必需的

    我看过其他答案 但没有任何帮助我 抱歉 GUI新手只知道swing的基础知识 这是主课 package application import javafx application Application import javafx fxml
  • JVM 调试端口 7779 正在使用

    我正在使用 RAD 8 当我在调试模式下启动服务器时 它会显示一条错误消息 指出JVM debug port 7779 is in use 我多次遇到这个问题 因为我知道 RAD 使用了这个端口 所以我不得不停止这个过程窗口任务管理器 gt
  • 设置滚动条粗细

    有没有办法调整滚动条的粗细JScrollPane 默认值有点笨拙 一个快速但又肮脏的解决方案是将宽度 高度明确设置为例如10 像素通过 jScrollPane getVerticalScrollBar setPreferredSize ne
  • 使用 Jsoup 选择没有类的 HTML 元素

    考虑一个像这样的 html 文档 div p p p p p class random class name p div 我们怎样才能选择所有p元素 但不包括p元素与random class name class Elements ps b
  • Jsplitpane 自动调整大小

    我有一个 JSPlitPane 它们之间有 50 的分隔线 这工作正常 但是 当我在右侧添加一些 JLabels 时 jsplitpane 会忽略我的 50 分隔符 左侧窗格会增加其大小 并会挤压右侧窗格 为什么会发生这种情况以及如何解决
  • 无法使用 Struts 2 重定向 JSP 文件并显示值

    我创建了一个简单的程序 使用文本字段获取用户的名字和姓氏 但问题是 当我单击提交按钮时 我无法将其重定向到另一个显示用户名字和姓氏的 jsp 文件 这是我的HelloAction class package com novamsc trai

随机推荐

  • Spring加密和解密属性文件中的API密钥

    原始问题 我有一个位于 Tomcat 中的属性文件和一个位于 src test resources 中的用于测试的属性文件 目前我有以下设置 我的属性文件加载到我的 XML 文件中配置文件
  • 在 Asp.Net Core Web API 中使用 MassTransit 消息时如何对用户进行身份验证?

    我有几个使用 Bearer 身份验证的 Asp Net Core Web APIIdentityServer4 AccessTokenValidation用于内省令牌 验证用户身份并创建声明的中间件 这对于 HTTP 请求来说效果很好 我正
  • Django 模型 = 业务逻辑 + 数据访问?或者数据访问层应该从 django 模型中分离出来?

    在 Django 中 建议的软件架构是将所有业务逻辑和数据访问放在模型中 但是 一些同事建议数据访问层应该与业务逻辑 业务服务层 分开 他们的理由是 如果使用不同的数据源 数据访问层可以隔离更改 他们还表示 业务逻辑可以存在于多个模型中 但
  • add如何使 django post_save 信号仅在创建期间运行

    我在项目中使用 django notifications 并且我想在使用信号创建模型时通知特定用户 但是在更新模型时 post save 也会运行 如何防止这种情况并仅运行 post save 方法当创建模型时 模型 py class Ca
  • 为什么简单的程序会占用这么多的存储空间?

    我用 C 创建了一个简单的 hello world 程序 如下所示 include
  • 我可以从 fsx 文件中安装/引用软件包吗?

    我正在尝试找到一个简单的解决方案 不需要太多手动工作来参考包 在 fsx 文件内 LinqPad 4 lets me simply add nuget packages 没有智能感知或自动完成 下载某些类型的软件包后删除软件包 模板 htt
  • IClientStore 的自定义实现

    我们使用 Entity Framework Core 和 Identityserver4 来存储配置数据 我们是否需要自定义实现 IClientStore 即 FindClientByIdAsync 接口来从数据库获取客户端 public
  • C++ 包含有和没有 .h [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中使用 include 和 include 有什么区别 https stackoverflow com questions 301586 what is the difference betw
  • ssh server bash -c "cd /tmp && git pull" , cd 不起作用,需要先添加 echo

    我在 ubuntu 15 04 上 我的 ssh 客户端版本是 OpenSSH 6 9p1 Ubuntu 2ubuntu0 2 OpenSSL 1 0 2d 9 Jul 2015 当我尝试运行以下命令时ssh admin server ba
  • FactoryBot - 创建嵌套对象

    我正在学习如何在 Rails 中进行测试 并且正在为我的问题模型编写一个工厂 require factory bot FactoryBot define do factory question do sequence content n q
  • 获取 C 网页源代码的最有效方法是什么?

    In PHP我可以简单地做到这一点 file get contents http stackoverflow com questions ask 执行相同操作的最短代码是什么C UPDATE 当我使用curl编译示例时 出现如下错误 unr
  • 重写谷歌自定义搜索字符串

    我之前的自定义谷歌搜索是这样显示的 第一个链接 http raskim lt controller function 音乐 cx 014092587915392242087 3Agc6l6xlpkmq cof FORID 3A11 q th
  • Azure 云应用程序 ERR_CONNECTION_TIMED_OUT

    我想在 azure 容器服务中部署基于容器的应用程序 并遵循本教程 https learn microsoft com en us azure container service dcos swarm container service m
  • 禁止创建临时对象

    在调试多线程应用程序中的崩溃时 我终于在以下语句中找到了问题 CSingleLock m criticalSection TRUE 请注意 它正在创建 CSingleLock 类的未命名对象 因此临界区对象在此语句之后立即解锁 这显然不是程
  • Delphi GUI 设计规范和指南 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找一种方法来标准化我的应用程序布局以提高我的工作效率 因为我浪费了太多时间在每个表单和对话框
  • PackedArrays 有快速的产品操作吗?

    在 Mathematica 中 包含所有机器大小的整数或浮点数的向量 或矩形数组 可以存储在压缩数组中 这些对象占用的内存较少 并且某些操作对它们的速度要快得多 RandomReal如果可能的话 生成一个压缩数组 压缩数组可以用以下命令解压
  • 猜测C2DM是否已连接的方法

    我正在尝试对是否可以接收 C2DM 消息进行最佳猜测 我创建了一个应用程序 它依赖于在物理上无法访问的情况下将信息推送到手机 我知道 C2DM 不能保证传送 但我至少想知道何时可以传送消息 如果不是 我们就会退回到我们自己的推送服务 并且实
  • 检查 pandas 数据框列的字符串类型

    我有一个相当大的 pandas 数据框 11k 行和 20 列 一列具有混合数据类型 主要是数字 浮点 其中散布着少量字符串 在使用混合列中的数据执行一些统计分析之前 我通过查询其他列来对该数据帧进行子集化 但如果存在字符串 则无法执行此操
  • 如何在自定义错误页面中访问 HTTP StatusDescription

    当操作 asp net mvc 5 在数据库中找不到某些内容时 用户必须看到一个带有简短自定义错误消息的页面 例如 Invoice 5 does not exist 此外 响应必须有一个404HTTP 代码 另一个例子 当操作被不正确地调用
  • 使用 Apache POI 在 java 中读取和写入 xls 和 xlsx excel 文件

    我正在编写一个程序 需要读取和写入 Excel 文件 无论格式如何 xls 或 xlsx 我知道 Apache POI 但它似乎有不同的类来处理 xls 文件 HSSF 和 xlsx XSSF 文件 任何人都知道我如何实现我在这里想做的事情