提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-01-05 13:18:23.867|阅读 65 次
概述:在这篇博文中,我们将探讨如何在 Java 应用程序中在 Word 文档中创建表格。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Microsoft Word 是一种流行的文字处理应用程序,用于创建各种类型的文档。这些文档可能包含多种类型的元素,包括文本、图像、表格和图表。当涉及到用 Java 自动创建和操作文档时,您可能需要一个轻松的解决方案来在 Word 文档中创建表格。因此,在这篇博文中,我们将探讨如何在 Java 应用程序中在 Word 文档中创建表格。
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.words for.net下载 Aspose.words for for java下载
Aspose.Words for Java是一个 API,允许 Java 开发人员以编程方式处理 Microsoft Word 文档。它提供了用于创建、修改和操作 Word 文档的广泛功能,使其成为自动化文档生成和处理任务的宝贵工具。我们将使用该库将表格插入到 Word 文档中。
您可以下载该库或使用以下 Maven 配置来安装它。
<repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>//repository.aspose.com/repo/</url> </repository> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>23.10</version> <classifier>jdk17</classifier> </dependency>
使用 Aspose.Words for Java 在 Word 文档中创建表格有两种方法:
您可以选择最适合您要求的方法。那么让我们详细探讨一下这些方法。
使用 DocumentBuilder 创建表
DocumentBuilder类为您提供了一种快速、简单的方法来从头开始创建动态文档或处理现有文档。它提供了一系列用于插入各种内容元素的功能,例如文本、复选框、OLE 对象、段落、列表、表格、图像等。
以下是在Java中使用DocumentBuilder类在Word文档中创建表格的步骤。
以下代码片段展示了如何使用 Java 在 Word 文档中创建表格。
// Create or load document. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Create a new table and insert cell. Table table = builder.startTable(); builder.insertCell(); // Table wide formatting must be applied after at least one row is present in the table. table.setLeftIndent(20.0); // Set height and define the height rule for the header row. builder.getRowFormat().setHeight(40.0); builder.getRowFormat().setHeightRule(HeightRule.AT_LEAST); builder.getCellFormat().getShading().setBackgroundPatternColor(new Color((198), (217), (241))); builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); builder.getFont().setSize(16.0); builder.getFont().setName("Arial"); builder.getFont().setBold(true); builder.getCellFormat().setWidth(100.0); builder.write("Header Row,\n Cell 1"); // We don't need to specify this cell's width because it's inherited from the previous cell. builder.insertCell(); builder.write("Header Row,\n Cell 2"); builder.insertCell(); builder.getCellFormat().setWidth(200.0); builder.write("Header Row,\n Cell 3"); builder.endRow(); builder.getCellFormat().getShading().setBackgroundPatternColor(Color.WHITE); builder.getCellFormat().setWidth(100.0); builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER); // Reset height and define a different height rule for table body. builder.getRowFormat().setHeight(30.0); builder.getRowFormat().setHeightRule(HeightRule.AUTO); builder.insertCell(); // Reset font formatting. builder.getFont().setSize(12.0); builder.getFont().setBold(false); builder.write("Row 1, Cell 1 Content"); builder.insertCell(); builder.write("Row 1, Cell 2 Content"); builder.insertCell(); builder.getCellFormat().setWidth(200.0); builder.write("Row 1, Cell 3 Content"); builder.endRow(); builder.insertCell(); builder.getCellFormat().setWidth(100.0); builder.write("Row 2, Cell 1 Content"); builder.insertCell(); builder.write("Row 2, Cell 2 Content"); builder.insertCell(); builder.getCellFormat().setWidth(200.0); builder.write("Row 2, Cell 3 Content."); builder.endRow(); // End table. builder.endTable(); // Save document. doc.save("table.docx");
以下是我们使用上面的代码示例创建的表的屏幕截图。
文档对象模型 (DOM)是 Word 文档的内存中表示形式,允许您以编程方式读取、操作和修改 Word 文档的内容和格式。以下步骤演示如何使用 DOM 在 Word 文档中创建表格。
以下代码片段展示了如何使用 Java 在 Word 文档中创建表格。
// Create or load document. Document doc = new Document(); // We start by creating the table object. Note that we must pass the document object // to the constructor of each node. This is because every node we create must belong // to some document. Table table = new Table(doc); doc.getFirstSection().getBody().appendChild(table); // Here we could call EnsureMinimum to create the rows and cells for us. This method is used // to ensure that the specified node is valid. In this case, a valid table should have at least one Row and one cell. // Instead, we will handle creating the row and table ourselves. // This would be the best way to do this if we were creating a table inside an algorithm. Row row = new Row(doc); row.getRowFormat().setAllowBreakAcrossPages(true); table.appendChild(row); // We can now apply any auto fit settings. table.autoFit(AutoFitBehavior.FIXED_COLUMN_WIDTHS); Cell cell = new Cell(doc); cell.getCellFormat().getShading().setBackgroundPatternColor(Color.BLUE); cell.getCellFormat().setWidth(80.0); cell.appendChild(new Paragraph(doc)); cell.getFirstParagraph().appendChild(new Run(doc, "Row 1, Cell 1 Text")); row.appendChild(cell); // We would then repeat the process for the other cells and rows in the table. // We can also speed things up by cloning existing cells and rows. row.appendChild(cell.deepClone(false)); row.getLastCell().appendChild(new Paragraph(doc)); row.getLastCell().getFirstParagraph().appendChild(new Run(doc, "Row 1, Cell 2 Text")); // Save document. doc.save("table.docx");
还可能存在这样的情况:您需要创建位于父表单元格内的嵌套表。您无需经过复杂的过程即可做到这一点。首先,创建一个父表,然后调用DocumentBuilder.moveTo(Cell.getFirstParagraph())方法将控件移动到父表的所需单元格内。完成后,以同样的方式创建一个新表。
以下代码片段展示了如何使用 Java 在 Word 文档中创建嵌套表格。
// Create or load document. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Insert cell. Cell cell = builder.insertCell(); builder.writeln("Outer Table Cell 1"); builder.insertCell(); builder.writeln("Outer Table Cell 2"); // This call is important to create a nested table within the first table. // Without this call, the cells inserted below will be appended to the outer table. builder.endTable(); // Move to the first cell of the outer table. builder.moveTo(cell.getFirstParagraph()); // Build the inner table. builder.insertCell(); builder.writeln("Inner Table Cell 1"); builder.insertCell(); builder.writeln("Inner Table Cell 2"); builder.endTable(); // Save document. doc.save("table.docx");
以下是我们上面创建的嵌套表的屏幕截图。
您还可以使用 HTML 字符串在 Word 文档中创建表格,以下是要遵循的步骤。
下面是从 HTML 字符串生成 Word 表格的代码片段。
// Create or load document. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Note that AutoFitSettings does not apply to tables inserted from HTML. builder.insertHtml("<table>" "<tr>" "<td>Row 1, Cell 1</td>" "<td>Row 1, Cell 2</td>" "</tr>" "<tr>" "<td>Row 2, Cell 2</td>" "<td>Row 2, Cell 2</td>" "</tr>" "</table>"); // Save document. doc.save("table.docx");
在这篇博文中,我们探讨了如何使用 Java 在 Word 文档中创建表格。您已经了解了如何使用文档生成器或 DOM 创建表、创建嵌套表以及从 HTML 字符串创建表。通过安装该库并遵循指南,您可以轻松地将表创建功能集成到您的 Java 应用程序中。
欢迎下载|体验更多Aspose产品
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。
Aspose.Words for SharePointAspose.Words for SharePoint是一个独特的解决方案,它支持文档转换,使在Microsoft SharePoint应用程序内转换和合并文档成为可能,并高度准确的支持多文档格式。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢