如何从Excel获取图表并使用Microsoft.Office.Interop将它们添加到Word?

时间:2014-08-04 15:52:48

标签: c# excel office-interop excel-interop

我尝试使用Microsoft.Office.Interop.Excel.Chart.Export()方法将图表导出为图像,但图像的质量很差(最佳结果是使用PNG格式)。有没有办法如何在导出期间仅使用Microsoft.Office.Interop设置图像的分辨率?

另一方面,我的同事正在使用VBA,他可以直接从Excel(使用WinAPI)将图表导出为.emf文件,所以我尝试使用Microsoft.Office.Interop.Word.InlineShapes.AddPicture()方法包含它们,但似乎它不能直接包含.emf个文件

有没有不同的,也许更好的方法来做到这一点?

更新:我不知道为什么我认为不可能包含.emf文件,但我仍想导出高分辨率图像。

1 个答案:

答案 0 :(得分:1)

这很难看,但在导出之前如何放大图表呢?

    myChart.ScaleWidth(2, msoFalse, msoScaleFromTopLeft);
    myChart.ScaleHeight(2, msoFalse, msoScaleFromTopLeft); 

然后在导出之后,如果需要,可以通过用.5替换2来缩小它...

将其导入Word时,可以在形状上执行ScaleWidth和ScaleHeight,使其达到所需的大小。