我开发了一个WinForms应用程序,它利用DocX Library在内存中编辑.docx文件。
我有一个问题,我曾经大力搜索过Google,这是我想使用特定索引在我的文档中添加一个表格。
我这样做是因为已经在文档中有一个空白表,然后使用预先存在的表中的索引找到索引并用我的表替换表。我最终得到了这个错误:
位置:部分:/word/document.xml,行:22,列:0
我不知道这是否是DocX故障还是我接近这个错误。
下面的代码不是我的应用程序,而是我的应用程序使用的一些基本代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Novacode;
namespace DocXTesting
{
class Program
{
static void Main(string[] args)
{
using (DocX document = DocX.Load(@"Test.docx"))
{
Table t = document.Tables[0];
int tIndex = t.Index;
try
{
t.Remove();
Table newTable = document.InsertTable(tIndex, 4, 4);
document.Save();
}
catch (Exception x)
{
Console.WriteLine(x.Message);
}
}
Console.ReadKey();
}
}
}
答案 0 :(得分:1)
根据" Advance - Invoice Example"可以从codeplex(http://docx.codeplex.com/releases/view/31554)下载的示例项目:
简化代码:
Table placeholderTable = document.Tables[0];
Table realTable = placeholderTable.InsertTableAfterSelf(4, 4);
placeholderTable.Remove();
如果您需要用表格替换文字,请参阅Vilhelm的回答DocX clone table and insert at index