0

目前我正在使用OleDB与 Excel 电子表格连接并在 a 中获取数据,DataTable对数据进行一些修改,然后将数据复制到 Word。

在这样做时,我会丢失单元格的格式,例如文本的任何部分是否着色或背景颜色是否变灰或是否为粗体。

我正在使用 Interop 库与 word 和OLEDBExcel 进行通信。

如果这个解决方案对于我需要实现的目标来说不够好,你能建议替代解决方案吗?(宏?)我尝试使用Interop.Excel.Styles,但我不知道如何将它与当前使用的单元格关联起来。

4

2 回答 2

1

我们将表格的范围复制到电子表格中,然后直接粘贴到保留格式的word文档中。

wordDoc.Tables.Add(b.Range,newsheet.UsedRange.Rows.Count,newsheet.UsedRange.Columns.Count);
Microsoft.Office.Interop.Word.Table table = b.Range.Tables[1];
newsheet.UsedRange.Copy();
table.Range.Select(); 
wordApp.Selection.Paste();

wordDoc 是 Word.Document,wordApp 是 word.Application。希望这可以帮助

于 2012-01-24T08:44:53.773 回答
0

是的,这会发生。OleDB 移动数据,而不是格式化信息。如果你想要格式化,你将不得不从 Excel 复制/粘贴到 Word。如果您需要自动化该过程,VBA 是从外部控制 Excel 和 Word 的最简单方法。

于 2012-01-09T11:56:31.177 回答