2012-01-09 49 views
0

当前我使用OleDB与Excel Spreadsheet连接并获取DataTable中的数据,对数据进行一些修改,然后将数据复制到Word。当从Excel复制单元格到Word时,如何保持单元格的格式化

在这样做时,我失去了单元格的格式,就像文本的任何部分被着色,或者背景颜色变成灰色,或者它是粗体。

我正在使用Interop库与Word进行通信,并使用Excel与OLEDB进行通信。

如果这个解决方案对我所需要达到的不够好,你能否提出其他解决方案? (宏?) 我试过使用Interop.Excel.Styles,但我无法弄清楚如何将它与当前使用的单元格相关联。

回答

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。希望这有助于

0

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

+0

可以在保存格式的情况下使用Interop库进行移动,但由于我需要执行某些操作,因此我在那里受到了残障。 – gizgok 2012-01-09 12:36:52

相关问题