我正在使用VSTO将数据填充到Microsoft Word 2007模板中的表中。数据量各不相同,填充多页(+50)需要花费大量时间。
我用来创建表的代码:
Word.Table table = doc.Tables.Add(tablePosition,
numberOfRows,
8,
ref System.Reflection.Missing.Value,
ref System.Reflection.Missing.Value);
我怀疑每次将数据插入单元格时,消耗的时间是由Visual Studio(C#)和Word之间的通信造成的。如果是这种情况,在C#中创建表可能会更快,然后将其插入Word。
Microsot.Office.Interop.Word.Table 是一个抽象类 - 因此我无法做到这一点
Word.Table table = new Word.Table();
本来会很方便。
仅使用VSTO还有其他可能性吗?
答案 0 :(得分:1)
根据您的要求,我建议使用邮件合并技术,因为用户可以编辑模板,邮件合并速度很快,特别是如果您有50多页。
答案 1 :(得分:0)
虽然我使用LabVIEW7.1和Word2000做类似的事情,但问题是类似的。我还没有找到一种方法来使用一个命令插入数据块(表)。插入单个元素对于单词来说太快时甚至会出现问题,它偶尔会挂起并且必须被杀死才能解决这个问题。不幸的是,没有任何事件或属性可以表示单词接受下一个命令和数据集的能力 - 至少我找不到任何东西。 由于这是在测试序列器中,我有时间将测试结果输入到字中,延迟时间足够长,以便在发送下一部分数据时再次准备好字...