如何使用 Java Apache POI 从 Excel 中删除整行?

2024-02-23

我想从 Excel 中删除整行,

我努力了removeRow:

XSSFRow rerow = sheet1.getRow(1);
sheet1.removeRow(rerow);

and shiftRows:

int rowIndex = 1;
int lastIntext = sheet1.getLastRowNum();
sheet1.shiftRows(rowIndex+1, lastIntext, -1);

但它只删除行中的值而不是整行。


即使我也遇到了同样的问题,但经过几次研究后发现

有一个错误/或者他们可能改变了行为<version>4.0.0</version> and <version>4.0.1</version>阿帕奇波伊 为了

sheet1.shiftRows(rowIndex+1, lastIntext, -1);

请用

<dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.17</version>
</dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.17</version>
</dependency>

并使用您的代码更好的方式来删除您的行,如下所示

public static void removeRow(Sheet sheet, int rowIndex) {
        int lastRowNum = sheet.getLastRowNum();
        if (rowIndex >= 0 && rowIndex < lastRowNum) {
            sheet.shiftRows(rowIndex + 1, lastRowNum, -1);
        }
        if (rowIndex == lastRowNum) {
            Row removingRow = sheet.getRow(rowIndex);
            if (removingRow != null) {
                sheet.removeRow(removingRow);
            }
        }
    }

这对我有用。 也许他们可能会在下一个 api 版本中更新它

如果对您有帮助的话谢谢

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

如何使用 Java Apache POI 从 Excel 中删除整行? 的相关文章

  • Antlr 处理异常

    我使用 Antlr 3 和 AST 树开发了一个复杂的语法 ANTLR 生成词法分析器和解析器 问题是 例如 当用户输入无效的语法时 该语法需要 用户没有输入此内容 然后在我的 Eclipse IDE 中出现以下异常 line 1 24 m
  • 谁能解释一下 servlet 映射吗?

    我正在尝试使用 SpringMVC 编写一个 Web 应用程序 通常我只是将一些虚构的文件扩展名映射到 Spring 的前端控制器并快乐地生活 但这次我要使用类似 REST 的 URL 没有文件扩展名 将我的上下文路径下的所有内容映射到前端
  • eclipse juno 打开时出错

    在安装 Eclipse 并正常工作一年多后 我今天打开 Eclipse Juno 并在打开工作区时收到一条错误消息 我使用的是 Windows 8 64 位 Java 64 位和 Eclipse 64 位 此后我尝试重新安装 Java 和
  • 包含小时、分钟和秒的周期[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个代表年 月 周 日 小时 分钟 秒的间隔数据类型 前三年 年 月 日 可以用Period最后
  • 如何检查字符串是否具有特定模式[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 用户输入任意字符串 程序会区分该字符
  • 黄瓜与 Micronaut

    我正在尝试将 Cucumber 与 Micronaut 一起使用 但当我尝试将其与 Cucumber 一起使用时 MicronautTest 注释根本不起作用 未注入 theApple 请参阅下面的代码 如果我在没有黄瓜的情况下运行它就可以
  • Java 中的本机方法

    我花了一些时间学习什么是 Java Native 方法以及它们是在平台相关代码 主要是 C 中实现的 但是我在哪里可以找到这些 Java 的本机实现呢 例如 Thread 类的 sleep long millis 方法是本机的 但它的实现代
  • 为什么 MetaSpace 大小是已用 MetaSpace 的两倍?

    我写了一个程序来模拟MetaSpace OOM 但我发现MetaSpace Size几乎总是两倍大Used MetaSpace Why 我用标志运行我的程序 XX MaxMetaspaceSize 50m 程序抛出OOM时Used Meta
  • 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/LabWebServletHibernate]]

    当使用 eclipse neon 1 在 tomcat 8 上运行应用程序时 我收到此错误 它使用 spring 4 3 3 hibernate 5 2 4 和 maven 嚴重 A child container failed durin
  • 将 emoji 替换为适当的 java 代码

    我正在开发一个简单的java程序 它可以接受这样的字符串 停止 你违反了 法律 但是现在 你 并将每个表情符号替换为适当的 java 字符 我不知道该怎么称呼他们 这是一个例子 汽车表情符号 将替换为 uD83D uDE97 这允许我有一个
  • 如何将 wsdl 内部架构设置为 Jaxb2Marshaller 以验证我所做的每篇文章?

    我正在使用 SOAP Web 服务 在调用它之前我必须验证每个 xml 帖子 所以我正在使用 The CXF codegen 插件生成POJO树结构 第三部分 wsdl xxxx soap service wsdl 一个类实现Web服务网关
  • 在 JSON 对象中强制执行非空字段

    我们的 REST API 接收一些 JSON 对象输入 其中某些字段要求不为空 这些可以是字符串 整数 甚至可以是其他一些类实例作为参考 我们正在尝试找到一种方法来强制这些字段不为空 而不是在 API 中进行空检查的正确方法 当前的 if
  • 在 Java 中打开现有文件并关闭它。

    是否可以在java中打开一个文件附加数据并关闭多次 例如 psuedocode class variable declaration FileWriter writer1 new FileWriter filename fn1 writer
  • 如何在 Spring Boot 中创建 Apache POI Excel 视图配置

    当我想使用 Spring Boot Web 将数据导出到 Excel 时遇到问题 我使用 Thymeleaf 作为模板引擎 由 Spring Boot 自动配置 但是当我在附加配置中添加 XmlViewResolver 时 由 XmlVie
  • WebSocketStompClient 将无法连接到 SockJS 端点

    我正在尝试新的 从版本 4 2 开始 java STOMP 客户端支持 我的出发点是入门指南 使用 WebSocket 构建交互式 Web 应用程序 http spring io guides gs messaging stomp webs
  • 有时 Properties.load() 会跳过行

    在以下情况下 Properties load 会跳过 InputStream 的第二行 这是 Java 的错误还是正常行为 public class PropTest public static void main String args
  • Spring Boot如何加入自定义查询

    我需要创建一个端点 该端点按州返回人口普查数据以及城市列表 我目前使用两个端点来获取此数据 目前回应 自定义查询一 censusByState id 1 code 11 name Rond nia statePopulation 18152
  • RecyclerView 适配器的 Kotlin 泛型

    我正在尝试编写一个通用的 recyclerview 适配器 我找到了几个例子 然而 仍然无法弄清楚如何实现通用适配器 我写的代码是 open abstract class BaseAdapter
  • 如何正确使用Google Calendar API Events.Insert命令?

    所以我一直使用REST方法来调用Google的API 我需要将事件插入到我拥有 ID 的特定日历中 这是我发送的 POST 请求 地址 https www googleapis com calendar v3 calendars https
  • 按字母顺序对对象的 ArrayList 进行排序

    我必须创建一个方法来排序数组列表根据电子邮件按字母顺序排列对象 然后打印排序后的数组 我在排序时遇到麻烦的部分 我已经研究过并尝试使用Collections sort vehiclearray 但这对我不起作用 我是因为我需要一个叫做比较器

随机推荐

  • 构建时出现 Docker 文件非零代码 100 错误

    这是我的 Docker 文件 FROM ubuntu 16 04 MAINTAINER Alexandre Savio lt gt RUN ln snf bin bash bin sh ARG DEBIAN FRONTEND noninte
  • 当系统显示当前正在进程中使用用户时,如何删除Linux中的用户[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试删除我在 ubuntu 上创建的用户 但是 当我使用以下命令时 userdel r cafe fixer 我收到以下消息 use
  • ProgressDialog 未显示在 AsyncTask 中

    我正在创建一个 Android 应用程序 该应用程序依赖于该应用程序从数据库获取的数据 为了获取这些数据 我有以下类 此类从数据库中以 JSON 格式获取数据 对其进行翻译并返回 public class Json public Strin
  • 允许对易失性对象进行优化

    From ISO IEC 9899 201x部分5 1 2 3 程序执行段落4 在抽象机中 所有表达式都按以下指定的方式求值 语义 实际的实现不需要评估一部分 表达式 如果它可以推断出它的值没有被使用并且没有 产生所需的副作用 包括任何由以
  • cppcheck 的规则集

    cppcheck允许你创建自己的规则文件 但我不知道cppcheck的功能暴露了多少 是否有人正在开发一套可以强制执行的JSF http www stroustrup com JSF AV rules pdf or MISRA http w
  • 在任务管理器之间均匀分配 Flink 运算符

    我正在 15 台机器的裸机集群上构建 Flink 流应用程序原型 我使用带有 90 个任务槽 15x6 的纱线模式 该应用程序从单个 Kafka 主题读取数据 Kafka主题有15个分区 所以我也将源算子的并行度设置为15 但是 我发现 F
  • 如何知道 MediaRecorder 何时完成将数据写入文件

    在进行实际录制之前 我们使用 MediaRecorder 使用 setOutputFile 将视频录制到外部存储上的文件中 一切正常 但主要问题是 录制完成后 我们希望开始在 VideoView 中播放录制的视频 如何知道文件何时可以读取和
  • CasperJS 无法设置 window.navigator 对象

    尝试使用 CasperJS 抓取网页 网页检查浏览器是否为 IE 6 7 使用 casperjs 传递 userAgent 似乎不满足其条件 UserAgent 通过 Mozilla 4 0 兼容 MSIE 6 0 Windows NT 5
  • Django Admin + FORCE_SCRIPT_NAME + 登录重定向不正确

    我让 Django 在 Nginx 后面运行fastcgi pass 我在子路径上运行 Django 例如 django sample location django sample include fastcgi params fastcg
  • 导入带有外键的 csv

    假设我有 2 个表 学生和团体 Group 表有 2 列 id GroupName Student 表有 3 列 id StudentName 和 GroupID GroupID 是 Group 字段的外键 我需要从 CSV 导入 学生 表
  • 需要来自 MySql 数据库的日期块数组

    好的 我有一个包含 StartDate 和 EndDate 的行的数据库表 我需要做的是从中返回消耗的时间块 例如 如果我有 3 行 如下所示 RowID StartDate EndDate 1 2011 01 01 2011 02 01
  • 自动加载 Word 任务窗格 Office 加载项

    我们正在为内部组织文档开发 Word 任务窗格 Office 加载项 不是 VSTO 在 Word 2013 桌面版 中 当我们插入加载项并保存文档时 当我们重新打开该文档时 加载项会自动加载 在 Word Online 中 此行为有所不同
  • Sklearn KNeighborsRegressor 自定义距离度量

    我正在使用 KNeighborsRegressor 但我想将它与自定义距离函数一起使用 我的训练集是 pandas DataFrame 如下所示 week day hour minute temp humidity 0 1 9 0 1 1
  • ubuntu 中的 php GD 库错误

    我正在使用 ubuntu 11 04 当我打开终端并输入时php a它显示一些像这样的错误 PHP Warning PHP Startup Unable to load dynamic library usr lib php5 200906
  • 在 PHP 的扩展类中使用父变量

    我有两门课 主课和扩展课 我需要在扩展类中使用主变量 我能做谁呢 无效例如
  • 如何以编程方式获取 Android 中应用程序花费的时间

    我想获取我今天使用过的所有应用程序的使用时间 当我通过拨打电话获取这些详细信息时 4636 但我希望在 android 中以编程方式获得这些详细信息 请帮我解决这个问题 我们可以看到这些 Play 商店应用程序如何显示使用情况统计信息 具有
  • 初始化自定义数组类而不创建副本

    我编写了一个自定义数组容器 就像大多数 C 库一样 包括std array and std iterator不适用于目标 嵌入 模板类基本上按预期工作 但是我没有设法设置一个构造函数 它可以初始化整个数组而不创建副本 我尝试了几种构造函数
  • Javafx Webview 的 Ajax 调用失败

    已关注this https stackoverflow com a 16405964 1900006 尽管来自链接的 Ajax 调用执行时没有任何错误 但在 HTML 中使用以下函数仍然会失败 document ready function
  • Spring Boot中如何处理最大文件大小异常?

    我正在使用 Spring Boot v1 2 5 创建 REST 应用程序 上传图像时 我会检查最大文件大小 该属性提供了以下属性 multipart maxFileSize 128KB 在应用程序属性中 该功能由 Spring Boot
  • 如何使用 Java Apache POI 从 Excel 中删除整行?

    我想从 Excel 中删除整行 我努力了removeRow XSSFRow rerow sheet1 getRow 1 sheet1 removeRow rerow and shiftRows int rowIndex 1 int last