如何更改embedded在Word文档中的图表中的单元格值使用C#

我有一个Word文档,其中包含一些文本和从Excel中粘贴的两个图表。 我正在使用它作为模板。 我想在C#中打开Word文档,更新图表数据值并打印文档。 除了能够访问图表数据,我可以做所有的事情。 我正在使用Microsoft.Office.Interop.Word和Microsoft.Office.Interop.Excel(都是V14)。 这是我的代码:

Word.Application wordApp = new Word.Application(); Word.Document wordDoc = wordApp.Documents.Open("K.docx"); Word.InlineShape shape = wordDoc.InlineShapes[1]; Word.Chart chart = shape.Chart; Excel.Workbook wb = chart.ChartData.Workbook; Excel.Worksheet ws = wb.Worksheets[0]; ws.Cells["E4"] = 90; wordDoc.PrintOut(); wordDoc.Close(); wordApp.Quit(); 

第五个命令产生这个错误:

未指定错误(从HRESULTexception:0x80004005(E_FAIL))System.Collections.ListDictionaryInternal

更新:我解决了第五个命令中的错误,如下所示:

 Word.Application wordApp = new Word.Application(); Word.Document wordDoc = wordApp.Documents.Open("K.docx"); wordApp.ActiveDocument.InlineShapes[1].Chart.ChartData.Activate(); Word.InlineShape shape = wordDoc.InlineShapes[1]; Word.Chart chart = shape.Chart; Excel.Workbook wb = chart.ChartData.Workbook; Excel.Worksheet ws = wb.Worksheets["Sheet1"]; ws.Cells["E4"] = 90; wordDoc.PrintOut(); wordDoc.Close(); wordApp.Quit(); 

这次ws.Cells["E4"] = 90; 产生以下错误:

该参数不正确。 (从HRESULTexception:0x80070057(E_INVALIDARG))System.Collections.ListDictionaryInternal

尝试使用ws.Range["E4"].FormulaR1C1 = 90;