【发布时间】:2011-04-28 04:51:54
【问题描述】:
我需要使用 vs 2010、c# 以编程方式在 Word 2007 文档中插入或编辑饼图……我发现的所有内容都显示了如何将这些旧的丑陋图表放入 Word 文档中。所以我现在想知道是否有可能操纵更新和更好看的图表。
这个展示了如何做我想要的,只是它是旧的丑陋图表......http://msdn.microsoft.com/en-us/library/ms178766.aspx。它告诉你插入一个 OLE 对象,它是古老的 msgraph.chart.8 东西。
除了使用更新的图表样式之外,我已经能够做所有我需要做的事情。
这是一些代码。我建立了一个新的饼图,现在如何将它插入 Word 文档?我的 PieChart3D 类是基于这些http://code.msdn.microsoft.com/mschart
// here's my c#.net
private void CreateChart(string title, Microsoft.Office.Interop.Word.Application oWord, Microsoft.Office.Interop.Word.Document oDoc, ChartType chartType, Hashtable values)
{
PieChart3D chart1 = new PieChart3D(); // using System.Windows.Forms.DataVisualization.Charting
chart1.PieChart3D_Load(values);
object oMissing = System.Reflection.Missing.Value;
object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */
Microsoft.Office.Interop.Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
// None of these work!!!!
wrdRng.InlineShapes.AddOLEControl(chart1);
wrdRng.InlineShapes.AddChart(chart1);
wrdRng.InlineShapes.AddOLEObject(chart1);
return;
}
// done with code
在我看来,我只需要将其注入文档的最后一步。我错过了什么?
【问题讨论】:
-
您是否愿意使用 OpenXML 来操作您的 Word 文档,或者解决方案必须是 Word 自动化/互操作(就像您在示例中显示的那样)?
标签: c# visual-studio-2010 ms-word automation