嗨,我有一个场景,我有位置列表。在我的文档中,我有合并字段 location_num。我想动态打印我的文档中的所有 location_num 值。
问问题
1328 次
2 回答
0
请在下面找到Aspose.Words for Java代码以实现相同的目的:
import com.aspose.words.*;
import com.aspose.words.net.System.Data.DataColumn;
import com.aspose.words.net.System.Data.DataRow;
import com.aspose.words.net.System.Data.DataTable;
public class Program {
public static void main(String[] args) throws Exception {
License lic = new License();
lic.setLicense("D:\\temp\\Aspose.total.java.lic");
Document doc = new Document("D:\\temp\\input.docx");
doc.getMailMerge().execute(GetDataTable());
doc.save("D:\\temp\\16.10.0.docx");
}
private static DataTable GetDataTable()
{
DataTable dataTable = new DataTable("table");
dataTable.getColumns().add("location_num");
DataRow dataRow;
for (int i = 0; i < 5; i++)
{
dataRow = dataTable.newRow();
dataRow.set(0, "location value " + i);
dataTable.getRows().add(dataRow);
}
return dataTable;
}
}
希望这可以帮助。我与 Aspose 一起担任开发人员宣传员。
于 2016-10-17T04:07:54.230 回答
0
您可以使用Aspose.Words来满足此要求。
请参考 Aspose.Words 文档的以下部分: 如何执行邮件合并
这是示例代码:
Document doc = new Document(filePath);
doc.MailMerge.Execute(GetDataTable());
doc.Save(MyDir + @"16.10.0.docx");
以及 GetDataTable 方法的定义
private static DataTable GetDataTable()
{
DataTable dataTable = new DataTable("table");
dataTable.Columns.Add(new DataColumn("location_num"));
DataRow dataRow;
for (int i = 0; i < 5; i++)
{
dataRow = dataTable.NewRow();
dataRow[0] = "location value " + i;
dataTable.Rows.Add(dataRow);
}
return dataTable;
}
希望这可以帮助。我与 Aspose 一起担任开发人员宣传员。
于 2016-10-13T12:09:41.000 回答