问题标签 [apache-poi-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - HCL Domino -11 - Java - Apache POI - 将 docx 转换为 PDF 时出现 NoClassDefFoundError 错误
我已经使用 Apache POI 通过模板生成了 docx 文件。我正在尝试将其转换为 PDF 文件。下面是代码和库。我正在使用 Apache POI 4.1.1。
我在下面添加了库
运行代码时出现以下错误。我可以知道我在这里缺少哪些 jar 文件或库吗?
java - Apache POI 从 Excel 表中解析数据透视表
我想从 Excel 工作表中读取数据透视表并在我的软件应用程序中使用这些数据。
我可以使用以下方法轻松读取表格区域的范围:-
我可以使用此范围通过解析行和列来读取表数据,但我无法分别区分页眉、正文和页脚。
有没有更好的方法来分别解析页眉和页脚范围?此外,如果还有其他更好的解析数据透视表的方法,欢迎提出建议。
我曾尝试使用 XML 格式读取 excel,table.getCTPivotTableDefinition().toString()
但我无法以这种方式成功读取页眉和页脚。
提前致谢!
java - HCL Domino 11 - Java Apache POI - DOCX 到 PDF - 如何格式化 PDF 页面设置?
我使用下面的代码将 Docx 文件转换为 PDF 格式。但是 PDF 文件中的页面没有按预期设置。Docx 文件有 3 页,PDF 以 6 页显示,中间有不必要的空格和空白页。如何格式化 PDF 页面设置,以便不显示不必要的空格和空白页?
sql - 在java中使用sprintboot通过Excel上传数据库中的多条记录
如何使用 Excel 上传将多条记录插入数据库?
在处理项目时,我需要上传一个 Excel 文件,假设每张纸的记录数高达 50000 条。但是在上传 Excel 文件时,需要进行某些验证,如果任何记录失败,则需要在页面上的 Excel 相应行显示错误消息,并且不需要保存任何记录在数据库表里面。
验证可以是任何意义上的,例如:
- 所有员工的年龄必须 >= 18 且 <= 60
- 年龄列不应包含非数字值
- 某些列是强制性的,如果 Excel 的该列中未填写该值,则应将错误通知用户。像 Employee 的名字不应该为空。
- 检查日期值是否为 DD/MM/YYYY 等格式
上传此 Excel 文件时,如果成功满足前面的验证,则需要根据特定批次 id 将数据保存在数据库中,该批次 id 基本上是一个唯一编号,用于标识该特定批次中插入的记录以及它们何时全部插入。此外,需要特别注意我们提供给用户用于数据输入目的的 Excel 列标题。假设 Excel 中有 10 列,如果用户更改 Excel 列标题的顺序,或者如果他们删除某些列或更改列名称,则还需要对上传的文件执行此验证。
为了执行此验证,我们使用了一个ExcelStructure
表格,该表格将存储 Excel 字段/列及其各自的大小、类型、参数,以及这些字段/列是否是必需的。下面是ExcelStructure
表的结构。请记住,我们正在使用具有代码优先方法的实体框架。但仅出于演示/查看目的,我们的 SQL 表将具有以下查询。
如果我在spring boot中上传excel,请有人帮忙,excel中的列名与数据库列名匹配,然后在spring boot中保存数据库中的值
无论我用作 Excel 列名 -> 相同的代码顺序
或者,我使用了错误的订单列名称,但该值会正确,但数据库会存储错误的订单,这就是问题所在
Excel
相同的订单保存到数据库
这是数据库中案例的输出
再次我的输入
我收到类似单元格值不是字符串的错误
所以我想要数据库中的输出
我想要与 excel col 名称匹配的内容匹配数据库 col 名称
java - AWS Lambda 中的 Apache POI 4.x XWPFDocument 冷启动
我遇到了以下组合的极端冷启动问题:
- 阿帕奇 POI 4.1.2
- 爪哇 11
- AWS Lambda 运行时 (corretto-11)
(请注意,4.1.2 是我唯一可用的版本。我必须使用公司管理的 jar 注册表)
lambda 函数执行以下操作:
- 从外部数据库检索一些数据
src/main/resources
从(文件大小:48 kbytes)加载一个 DOCX 模板作为输入流并XWPFDocument
用它实例化一个对象- 在 DOCX 中填写数据(数据通常是在文档中填写 3 个 Word 表格,总共 40 行——非常有限)
XWPFDocument::write
使用方法写入 ByteArrayOutputStream- 将 ByteArrayOutputStream 保存到 S3 文件
当 Lambda 冷启动时,我观察到大约 12 秒的额外持续时间。使用 AWS XRay,我观察到主要的罪魁祸首是分段 (2) 平均耗时 7.5 秒,分段 (4) 平均耗时 4.2 秒。
请注意,当 Lambda 已经预热时,段 (2) 和 (4) 的执行时间分别为 1.1 秒。
所以简而言之,当 Lambda 处于冷启动状态时,我不仅会受到通常的 AWS Lambda 冷启动惩罚(约 4 秒)的影响,而且还会受到来自XWPFDocument
.
我想知道冷启动时的这种行为是否已知,或者我只是自己做错了什么?