对于我正在处理的项目,我们需要将Excel工作表中的数据复制到Word文档中的新表中,并且在大多数情况下都有一个有效的策略。
首先,我们做
string file = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() +
".mht");
object sheetObj = sheetName;
object trueObj = true;
Excel.PublishObject obj = workbook.PublishObjects.Add(Excel.XlSourceType.xlSourceSheet, file,
sheetObj);
obj.Publish(trueObj);
然后 文档tempDocument = wordApp.Documents.Open(file); 并将templDocument读入目标Word文档。 ...
在一些情况下,我们遇到了问题。 (http://thinkscience.us/office/examples.zip处的示例文件中说明了这些问题) 1)大文本文件显示Excel和导出的.mht之间的文本截断 2)'营养'文件显示在Excel数据和.mht之间添加了几行空格。
我在PublishObjects.Add(使用范围而不是整个工作表)的参数上尝试了几种变体。 add方法包含一个可选的XlHtmlType参数,该参数仅适用于值XlHtmlType.xlHtmlStatic。
是否有人使用PublishObjects.Add或其他策略将工作表从Excel传输到Word,保留尽可能多的格式并且不干扰系统剪贴板?
答案 0 :(得分:0)
我发现了一篇可能符合您需求的文章,但它没有使用Office自动化,而是使用名为Spire.Office的库。检查:How to Maintain Formatting of Cells when Copying Cells from Excel to Word。