如何使用vectors + Ms Graph with C# office interop word library在word自动化中绘制图表(Charts)
How to Draw diagrams (Charts) in word automation using vectors + Ms Graph with C# office interop word library
所以这是微软发布的代码,我想知道
在此过程中,如何从 svg 文件中获取 向量 到 word 中时 插入图表 ?
//Insert a chart.
Word.InlineShape oShape;
object oClassType = "MSGraph.Chart.8";
wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
oShape = wrdRng.InlineShapes.AddOLEObject(ref oClassType, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing);
//Demonstrate use of late bound oChart and oChartApp objects to
//manipulate the chart object with MSGraph.
object oChart;
object oChartApp;
oChart = oShape.OLEFormat.Object;
oChartApp = oChart.GetType().InvokeMember("Application",
BindingFlags.GetProperty, null, oChart, null);
//Change the chart type to Line.
object[] Parameters = new Object[1];
Parameters[0] = 4; //xlLine = 4
oChart.GetType().InvokeMember("ChartType", BindingFlags.SetProperty,
null, oChart, Parameters);
//Update the chart image and quit MSGraph.
oChartApp.GetType().InvokeMember("Update",
BindingFlags.InvokeMethod, null, oChartApp, null);
oChartApp.GetType().InvokeMember("Quit",
BindingFlags.InvokeMethod, null, oChartApp, null);
//... If desired, you can proceed from here using the Microsoft Graph
//Object model on the oChart and oChartApp objects to make additional
//changes to the chart.
//Set the width of the chart.
oShape.Width = oWord.InchesToPoints(6.25f);
oShape.Height = oWord.InchesToPoints(3.57f);
那么如何使用 office interop word 插入图表(带矢量)?一些 帮助 亲爱的开发人员,谢谢 ;)
好吧,只要有现有的 .svg 文件,就不需要使用 Ms Graph,您可以像处理图片一样处理它并将其添加到文档中,
像这样:
//define a range with the assigned value of end of doc
Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
//add image path
string img = "C:\Users\a_shi\Desktop\svgsample.svg";
// add a picture by passing the image path, using AddPicture method of InlineShapes interface
wrdRng.InlineShapes.AddPicture(imgpath);
完成!
所以这是微软发布的代码,我想知道 在此过程中,如何从 svg 文件中获取 向量 到 word 中时 插入图表 ?
//Insert a chart.
Word.InlineShape oShape;
object oClassType = "MSGraph.Chart.8";
wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
oShape = wrdRng.InlineShapes.AddOLEObject(ref oClassType, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing);
//Demonstrate use of late bound oChart and oChartApp objects to
//manipulate the chart object with MSGraph.
object oChart;
object oChartApp;
oChart = oShape.OLEFormat.Object;
oChartApp = oChart.GetType().InvokeMember("Application",
BindingFlags.GetProperty, null, oChart, null);
//Change the chart type to Line.
object[] Parameters = new Object[1];
Parameters[0] = 4; //xlLine = 4
oChart.GetType().InvokeMember("ChartType", BindingFlags.SetProperty,
null, oChart, Parameters);
//Update the chart image and quit MSGraph.
oChartApp.GetType().InvokeMember("Update",
BindingFlags.InvokeMethod, null, oChartApp, null);
oChartApp.GetType().InvokeMember("Quit",
BindingFlags.InvokeMethod, null, oChartApp, null);
//... If desired, you can proceed from here using the Microsoft Graph
//Object model on the oChart and oChartApp objects to make additional
//changes to the chart.
//Set the width of the chart.
oShape.Width = oWord.InchesToPoints(6.25f);
oShape.Height = oWord.InchesToPoints(3.57f);
那么如何使用 office interop word 插入图表(带矢量)?一些 帮助 亲爱的开发人员,谢谢 ;)
好吧,只要有现有的 .svg 文件,就不需要使用 Ms Graph,您可以像处理图片一样处理它并将其添加到文档中, 像这样:
//define a range with the assigned value of end of doc
Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
//add image path
string img = "C:\Users\a_shi\Desktop\svgsample.svg";
// add a picture by passing the image path, using AddPicture method of InlineShapes interface
wrdRng.InlineShapes.AddPicture(imgpath);
完成!