poi读取现有的excel并用大数据进行编辑

2023-11-29

我使用 apache poi 来读取和写入 excel。我可以毫无问题地做到这一点。但是在现有 excel 上写入大型 excel 时,我面临内存问题。下面更详细地解释 我有一个模板,其中列标题是彩色的,有些是合并的(我说的是一张纸中的 100 到 150 列),我大约有 10 张纸。 现在我从数据库读取数据并将数据填充到此 Excel 中。 现在,对于小数据集,我可以做到,但对于大数据集,它会抛出内存不足。 虽然我从数据库中以小块的形式获取数据,例如一次处理 1000 行数据,然后再次获取另一组数据。最大数据行数为每张纸 50,000 行,最小行数为每张纸一行

我读过有关 SXSSF 的内容,但问题是它不能在现有的 Excel 上进行编辑。

请让我知道您对如何解决此问题的想法。


有一些可用的选项,但没有一个是“灵丹妙药”的简单答案。不幸的是,Excel 文件格式确实需要相当多的内存才能使用。

  1. 增加 Java 的堆大小,以便它一次可以在内存中容纳更多内容
  2. 为您的服务器购买更多内存,然后增加堆大小。如今内存相当便宜,一个体面的程序员不需要花很多小时的工资来支付成本
  3. 使用不同的文件格式 - 例如 CSV 在内存占用方面非常轻
  4. Use the 低级 SAX API读取 .xlsx 文件,然后使用SXSSF无需太多缓冲即可再次将其写出。不过,需要大量的自定义编码,这比仅仅使用 HSSF/XSSF 需要做更多的工作
  5. 为 Apache POI 的内存改进做出贡献/赞助。 POI 是开源的,免费提供,并且完全由志愿者维护,因此,如果有什么事情对您很重要,您通常最好提供帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

poi读取现有的excel并用大数据进行编辑 的相关文章

  • 来自十六进制代码的 Apache POI XSSFColor

    我想将单元格的前景色设置为十六进制代码中的给定颜色 例如 当我尝试将其设置为红色时 style setFillForegroundColor new XSSFColor Color decode FF0000 getIndexed 无论我在
  • 迭代列表的奇怪速度差异

    我创建了两个重复两个不同值的长列表 在第一个列表中 值交替出现 在第二个列表中 一个值出现在另一个值之前 a1 object object 10 6 a2 a1 2 a1 1 2 然后我迭代它们 不对它们执行任何操作 for in a1 p
  • Rails Windows Vagrant 响应时间非常慢

    我在跑 Vagrant 1 7 1 Rails 4 1 4 Thin 1 6 1 Windows 7 每个静态文件的发送时间都超过一秒 在我的 PC 上加载一个页面可能需要大约 20 秒 而在同事的 Linux 机器上则只需瞬间 有一些帖子
  • ProxyPassMatch 与 ProxyPassReverse

    各位 我们正在尝试为以下场景设置 Apache 反向代理 传入请求采用以下形式http foo com APP v1 main html 对于某些服务器 URL 将引用不同的版本 例如 http foo com APP v2 main ht
  • R、Rcpp 与 Armadillo 中矩阵 rowSums() 与 colSums() 的效率

    背景 来自 R 编程 我正在扩展到 C C 形式的编译代码Rcpp 作为循环交换 以及一般的 C C 效果的实践练习 我实现了 R 的等效项rowSums and colSums 矩阵的函数Rcpp 我知道它们以 Rcpp 糖的形式存在 并
  • phpinfo 说 php.ini 路径是 C:\Windows 但那里没有 php.ini

    我们正在尝试从 PHP5 切换到 PHP7 现在我们已经安装了 Apache 并且 PHP 可以运行了 然而 我们在php ini文件没有任何作用 Via phpinfo 我们意识到原因是Configuration File php ini
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • Javascript 定时通知 - setTimeout、setInterval

    我正在创建一个网络应用程序 允许用户管理日历 CRUD 事件 任务 提醒等 我正在尝试实现一个功能 他们将在事件 任务前 x 分钟收到弹出提醒 根据我的理解 使用 javascript 确实只有一种方法可以做到这一点 登录时 检查数据库中是
  • 如何检查设备是否“快”足够

    我找不到更好的措辞来回答我的问题 在我的应用程序中的某个时刻 我设置了一些非常密集的动画 事实是 在高端设备上 动画运行流畅且赏心悦目 另一方面 我测试的一款低端设备在制作动画时的性能非常糟糕 为了将用户体验放在第一位 我想在计算能力足够的
  • getItem 与 getItemAtPosition

    有两种方法可以获取列表视图中的选定项目 list getAdapter getItem position list getItemAtPosition position 我的问题是 哪一种是首选的做法 我见过人们同时使用这两种方法 您可以使
  • 当我使用 session_start() 时,Xampp 7.0.1 Apache 崩溃

    当我在 PHP 中使用 session start 启动会话时 我的 Apache 服务器停止工作 我正在使用 Windows 版 Xampp 7 0 1 我的配置文件如下所示 即使我把它放在文件的第一行 它也不起作用 有人知道如何解决这个
  • 为什么在连接两个字符串时 Python 比 C 更快?

    目前我想比较 Python 和 C 用来处理字符串的速度 我认为 C 应该比 Python 提供更好的性能 然而 我得到了完全相反的结果 这是 C 程序 include
  • “gld/st_throughput”和“dram_read/write_throughput”指标之间有什么区别?

    在 CUDA 可视化分析器版本 5 中 我知道 gld st requested throughput 是应用程序请求的内存吞吐量 然而 当我试图找到硬件的实际吞吐量时 我很困惑 因为有两对似乎合格的指标 它们是 gld st throug
  • 正则表达式库基准

    我最近一直想知道正则表达式实现的性能 并且很难想出很多有用的信息 它很容易对浏览器 javascript 正则表达式性能进行基准测试 网上有很多工具 Chrome 和 Opera 中的 javascript 正则表达式实现几乎摧毁了所有其他
  • 使用 React.forwardRef 与自定义 ref prop 的价值

    我看到React forwardRef从反应文档来看 似乎是将引用传递给子功能组件的认可方式 const FancyButton React forwardRef props ref gt
  • 如何授予 apache 使用 NTFS 分区上的目录的权限?

    我在一台带有 20GB 硬盘的旧机器上运行 Linux Lubutu 12 10 我有一个 1 TB 外部硬盘 上面有一个 NTFS 分区 在该分区上 有一个 www 目录 用于保存我的网页内容 它在启动时自动安装为 media t515
  • jQuery:如果使用 html() 从 DOM 中删除事件处理程序,是否会从对象中删除事件处理程序

    我担心应用程序中的内存泄漏 因为我经常使用 jquery 的 html 方法来替换 DOM 中的内容 我只是想确保这些事件侦听器不会停留在浏览器内存中 我搜索了 jquery 文档没有明确的答案 有人知道吗 多谢你们 是的 他们是 如果你使
  • Python if 与 try- except

    我想知道为什么下面程序中的 try except 比 if 慢 def tryway try while True alist pop except IndexError pass def ifway while True if alist
  • 在 MySQL 数据库中保持 TEXT 字段唯一的最佳方法

    我想让 TEXT 字段的值在我的 MySQL 表中唯一 经过小型研究 我发现由于性能问题 每个人都不鼓励在 TEXT 字段上使用 UNIQUE INDEX 我现在想用的是 1 创建另一个字段来包含 TEXT 值的哈希值 md5 text v
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是

随机推荐

  • 交换两个变量的 XOR 技巧如何真正在字符串上起作用?

    我刚刚遇到了这段代码 用于在 PHP 中交换两个变量的值
  • 检查 iOS 模拟器类型和版本

    我有以下代码片段来检测 iOS 设备 NSString platformNSString size t size sysctlbyname hw machine NULL size NULL 0 char machine malloc si
  • 我可以在 MySQL 下直接在 SQL 中运行 HTTP GET 吗?

    我很乐意这样做 UPDATE table SET blobCol HTTPGET urlCol WHERE whatever LIMIT n 有代码可以做到这一点吗 我知道这应该是可能的 因为MySQL 文档包括添加执行 DNS 查找的函数
  • 等待与事件处理程序异步

    我对如何最好地处理这种情况感到困惑 我不想等待异步调用的响应 具体来说我有 public async Task
  • 如何在 ASP.Net MVC 5 中动态添加新行

    我正在寻求有关如何在 ASP Net MVC 5 应用程序的创建 Razor 视图中向发票添加新行 LineItems 的帮助 我读过几乎所有类似的问题 但没有一个解决了我认为的简单用例 这是我的发票模型类 public class Inv
  • 如何在 Pygame 中生成第二次点击的位置?

    我正在建造河内塔 它应该像这样工作 您单击第一个塔 从您想要磁盘移动的位置 然后单击第二个塔 您希望磁盘移动到的位置 磁盘应从第一个塔 一个列表 移动到第二个塔 另一个列表 我的问题是 当您第一次单击时 代码会生成位置 不久之后您应该再次单
  • 提取字符串中文件扩展名 (.ps1) 之前的数字

    创建文件的 cmdlet 返回一个文本块 其中包含文件的名称 该文件的格式为字符串 数字 ps1 但数字是随机的 所以我想提取该数字并将其存储在变量中 供参考的文本块 nA using statement must appear befor
  • 单精度不能保证6位数字吗?

    这是code typedef std numeric limits
  • PySide2 在询问时不更新 QLabel 文本

    我正在从 Python 2 7 升级到 Python 3 6 并从 PySide 升级到 PySide2 我首先尝试从 入门 网站获取 Hello World https doc snapshots qt io qtforpython ge
  • Django auth:在哪里放置自定义模板?

    我想使用 Django 1 9 设置用户身份验证 如文档中所述 我将 auth 视图包含在我的项目中urls py like urlpatterns url accounts include django contrib auth urls
  • 如何将两个不同存储库的两个分支合并到一个存储库中?

    我的 Git 存储库的结构如下所示 A B C D E F master branch in separate repo1 A B C D E G H master branch in separate repo2 A H 是简单的提交 正
  • Python/sqlite:获取新插入行的PK

    我正在使用原始 SQL 插入一行 并且需要获取新插入行的主键 我不能假设任何非 PK 插入的数据是唯一的 也不能假设该行是最后插入的行 如果无法使用原始 SQL 那么使用 常规 插入怎么样 我想我必须完全创建一个新的 customID 字段
  • 从php中的for循环推送关联数组

    for 循环应该循环 10 次 当我刚刚打印 fname lname and email我正在获取 10 条数据 工作正常 但我需要将这些值存储在关联数组中 assocDataArray array foreach data as key
  • 如何设置数字样式?

    我正在尝试改变数字的样式 我想在每 3 位数字之间添加一些空格 我会确切地知道这些数字在 html 中的位置 当我从 html 检索号码时 它需要与我输入的号码完全相同 所以我只想设计数字的样式 不修改号码 我可以使用 javascript
  • 当 python 列表迭代是或不是引用时

    有人可以对这两个Python操作在修改列表方面的区别提供一个简洁的解释吗 demo a b c for d in demo d print demo output a b c for c in range len demo demo c p
  • 抑制函数的命令窗口输出

    我正在使用的一个功能有display 在其中 或在命令窗口上显示消息的其他内容 因此当我运行代码时 它会在命令行上输出很多内容 x 1200 这使得事情很难跟踪和观察 有没有办法抑制这个特定函数的输出 用分号结束语句显然没有帮助 您可以尝试
  • 如何纠正 fortify 给出的路径操作错误?

    我需要读取保存在 user home 文件夹中的属性文件 PropsFile System getProperty user home System getProperty file separator x properties Forti
  • 构建 INSERT 语句值的动态列表

    我正在编写一个存储过程来创建一组DELETE管理员针对数据库运行的语句 作为 回滚 解决方案的一部分 我希望对于要删除的每一行 还分别创建一个相应的INSERT语句 以便运行脚本的人希望撤消 他们可以简单地对数据库运行插入语句 我的问题是
  • 使用 JSON 和 AFNetworking NSDictionary 用数据填充表视图

    c ios n00b 在这里 我已经研究这个问题三天了 我担心我缺少一个基本概念 我已经研究并完成了与此相关的每个教程和堆栈溢出问题 但我无法得到答案 我正在尝试使用 json 文件中的数据填充我的 tableviewcontroller
  • poi读取现有的excel并用大数据进行编辑

    我使用 apache poi 来读取和写入 excel 我可以毫无问题地做到这一点 但是在现有 excel 上写入大型 excel 时 我面临内存问题 下面更详细地解释 我有一个模板 其中列标题是彩色的 有些是合并的 我说的是一张纸中的 1