aspose.word给表格插入行或列

本文档详细介绍了如何使用Aspose Words for Java进行表格操作,包括插入表格、行和列,以及创建单元格。示例代码演示了如何在Word文档中动态插入数据,调整单元格内容,并使用moveToCell方法移动到指定位置进行写入。此外,还解决了在单元格内插入换行的问题,提供了清空单元格内容后再写入的解决方案。
摘要由CSDN通过智能技术生成

1、插入表格

代码:

https://blog.csdn.net/a3562323/article/details/116146544

效果:

在这里插入图片描述

2、插入行

代码:

	//加载文档
	Document doc1 = new Document("D://AsposeTest//123.doc");
	//获取文档中的第2个表格,下标从0开始
	Table table = (Table) doc1.getChild(NodeType.TABLE, 1, true);
	//创建行
	Row row = new Row(doc1);
	//给行插入列,CreateCell是个方法
	row.getCells().add(CreateCell("插入值1",doc1));
	row.getCells().add(CreateCell("插入值2",doc1));
	row.getCells().add(CreateCell("插入值3",doc1));
	//插入到表格的第0行,下标0开始,从上到下
	table.getRows().insert(0,row);
	//table.getRows().add(row);		add方法是插入到最后一行
	//保存到指定文件
	doc1.save("D://AsposeTest//插入值.doc");

效果:

在这里插入图片描述

3、插入列

代码:

	//加载文档
	Document doc1 = new Document("D://AsposeTest//123.doc");
	//获取文档中的第2个表格,下标从0开始
	Table table = (Table) doc1.getChild(NodeType.TABLE, 1, true);
	//获取第4行,下标0开始
	Row row2 = table.getRows().get(3);
	//给该行0位置插入单元格
	row2.getCells().insert(0, CreateCell("11111",doc1));
	//保存到指定位置
	doc1.save("D://AsposeTest//插入值.doc");

效果:

在这里插入图片描述

4、CreateCell

	/**
	 * 创建列值
	 * @param value	要插入的值
	 * @param doc	Document对象
	 * @return
	 */
	public static Cell CreateCell(String value,Document doc)
    {
        Cell cell = new Cell(doc);
        Paragraph p = new Paragraph(doc);
        p.appendChild(new Run(doc,value));
        cell.appendChild(p);
        return cell;
    }

5、moveToCell

使用row2.getCells().insert()插入内容的时候,想要手动换行,\n是无效的 ,暂时不知道怎么实现,所以找了个替换的方法,使用builder.moveToCell,一共四个参数,原理是移动到指定位置,插入值

tableIndex—要移动的表的索引。
rowIndex -表中行的索引。
columnIndex—表中列的索引。
字符在单元格中的索引。目前只能指定0移动到单元格的开头,或指定-1移动到单元格的结尾。
moveToCell(int tableIndex, int rowIndex, int columnIndex, int characterIndex)
移动到当前文档的第2个表格的第1行的第2列的开头
builder.moveToCell(1, 0, 1, 0);
//开始写入东西
builder.write("asd\n123");*

效果:第2个表格的第1行的第2列的开头
在这里插入图片描述
要是有值,想清空再写入,也是自己研究的,不知道还要什么方法能实现,

Table table = (Table) doc.getChild(NodeType.TABLE, 1, true);
//给第1行第2列的值设为空,
table.getRows().get(0).getCells().get(1).getFirstParagraph().getRuns().get(0).setText("");
//再移动到当前文档的第2个表格的第1行的第2列的开头
builder.moveToCell(1, 0, 1, 0);
//开始写入东西
builder.write("asd\n123");*

效果:
在这里插入图片描述
换行无效:使用row2.getCells().insert()插入内容的时候,想要手动换行,\n是无效的,
解决:使用控制符ControlChar
在这里插入图片描述

官网API

https://reference.aspose.com/words/java/

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要向Word表格插入图片,你需要使用Aspose.Words库的Table类和Cell类。下面是一个示例代码,展示了如何在指定的表格单元格内插入图片: ```csharp using Aspose.Words; using System.Drawing; class Program{ static void Main(string[] args) { // 加载Word文档 Document doc = new Document("input.docx"); // 获取要插入图片的表格 Table table = doc.GetChildNodes(NodeType.Table, true)[0] as Table; // 获取表格的第一个单元格 Cell cell = table.Rows[0].Cells[0]; // 创建一个新的图片对象 Shape img = new Shape(doc, ShapeType.Image); // 设置图片的位置和大小 img.Left = 0; img.Top = 0; img.Width = 100; img.Height = 100; // 加载要插入的图片 using (Image image = Image.FromFile("image.jpg")) { // 将图片添加到Shape对象中 img.ImageData.SetImage(image); } // 清空单元格内容 cell.RemoveAllChildren(); // 将图片插入到单元格中 cell.AppendChild(img); // 保存文档 doc.Save("output.docx"); } } ``` 在上述代码中,首先加载了要编辑的Word文档(假设为"input.docx")。然后获取要插入图片的表格(这里假设你的文档中只有一个表格),以及要在其中插入图片的单元格。接下来,创建一个新的图片对象,并设置图片的位置和大小。然后加载要插入的图片,并将其添加到图片对象中。接着,清空单元格的内容,并将图片对象插入到单元格中。最后,保存文档(保存为"output.docx")。 请确保你已经将Aspose.Words库添加到你的项目中,并根据需要调整表格、单元格、图片的位置、大小和文件路径。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值