MS Office Automation使用PublishObjects.Add
问题描述:
从excel转换为Word对于我正在处理的项目,我们需要将Excel表单中的数据复制到Word文档中的新表格中,并制定一个策略,该策略适用于... in在大多数情况下。MS Office Automation使用PublishObjects.Add
首先,我们做
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(文件); 并将templDocument读入目标Word文档。 ...
在一些情况下,我们发现问题。 (这些问题在http://thinkscience.us/office/examples.zip的示例文件中有说明) 1)大文本文件显示Excel和导出的文本截断.mht 2)“营养”文件显示在Excel数据之间添加了几行空格和.mht。
我已经尝试了PublishObjects.Add(使用范围而不是整个工作表)的参数的几个变体。 add方法包含一个可选的XlHtmlType参数,该参数只能与值XlHtmlType.xlHtmlStatic一起使用。
是否有人使用PublishObjects.Add或其他策略将工作表从Excel传输到Word,保留尽可能多的格式并且不干扰系统剪贴板?
答
我发现了一篇文章,可能会满足您的需求,但它并未使用Office自动化,而是使用名为Spire.Office的库。检查:How to Maintain Formatting of Cells when Copying Cells from Excel to Word。