如何使用.NET将Excel中的格式化单元格复制到Word中的表格单元格?

我试图一次一个地将单元格从Excel 2003(或2007)电子表格复制到Word 2003(或2007)表格。 我希望代码与版本无关,所以我使用后期绑定。 需要保留Excel单元格内容的格式,例如颜色,下划线,删除线。 我的方法是使用Word doc作为模板。 它在顶部有一个表格,我可以将其复制到文档的末尾,根据需要添加行,并使用excel电子表格中的数据填写单词表格单元格。 不幸的是,所有格式都消失了。 我得到的只是文本本身。

弄清楚了。 结果比预期容易。

Dim appExcel As Excel.Application Dim thisWorkbook As Excel.Workbook Dim thisWorksheet As Excel.Worksheet appExcel = CType(CreateObject("Excel.Application"), Excel.Application) thisWorkbook = appExcel.Workbooks.Open("Excelfilename.xls") thisWorksheet = CType(thisWorkbook.ActiveSheet, Excel.Worksheet) Dim appWord As Word.Application Dim thisDoc As Word.Document Dim thisWordTable As Word.Table ' Use a template word doc that has a table in it. appWord = CType(CreateObject("Word.Application"), Word.Application) thisDoc = appWord.Documents.OpenNoRepairDialog("templateWordFileName.doc") thisDoc.SaveAs("outputDocFileName.doc") ' Get a reference to the table. thisWordTable = thisDoc.Tables(0) ' Copy data from excel to this table. CType(thisWorksheet.Cells(5, 1), Excel.Range).Copy() thisWordTable.Cell(1, 2).Select() appWord.Selection.Paste() thisDoc.Save() thisDoc.Close() appWord.Quit() thisWorkbook.Close(False) ' Don't save any changes to workbook. appExcel.Quit() 

您可能必须先执行文本,然后手动复制样式。 您可以使用Workbook.Styles获取Microsoft.Office.Interop.Excel.Style的集合,然后应该能够使用该数据创建Microsoft.Office.Interop.Word.Styles。