2012-01-09 107 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

相關問題