1.插入图表则主要是操作ChartObject对象和Chart对象。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet);
Worksheet ws = (Worksheet)xla.ActiveSheet;
// Now create the chart.
ChartObjects charts= (ChartObjects)ws.ChartObjects(Type.Missing);
//设置图表大小。
ChartObject chartObj = charts.Add(0, 0, 400, 300);
Chart chart = chartObj.Chart;
//设置图表数据区域。
Range range = workSheet.get_Range(
"A1"
,
"E10"
);
chart.ChartWizard(range, XlChartType.xl3DColumn,miss,XlRowCol.xlColumns, 1, 1,
true
,
"标题"
,
"X轴标题"
,
"Y轴标题"
, miss);
//将图表移到数据区域之下。
chartObj.Left = Convert.ToDouble(range.Left);chartObj.Top = Convert.ToDouble(range.Top) + Convert.ToDouble(range.Height);
|
2.其中设置图表区域比较关键,区域中包含了标题行。ChartWizard的第二个参数指明了图表的类型,第四个参数指明了以行还是列的值作为一个数据系列,第五个参数和第六个参数则指明分别作为横轴坐标和系列名称的单元格。
3.以Line类型图表为例,数据如下:
4.那么根据第四个参数的不同会有两种不同图表:
1
|
chart.ChartWizard(range, XlChartType.xlLine,miss,XlRowCol.xlRows, 1, 1,
true
,
"标题"
,
"X轴标题"
,
"Y轴标题"
, miss);
|
5.在PlotBy Row的时候,会以一行的数据为一个数据系列画一条线,并把第每行的一列值作为这一条线的标题,而把第一行的每一列作为该线的横坐标。
1
|
chart.ChartWizard(range, XlChartType.xlLine,miss,XlRowCol.xlColumns, 1, 1,
true
,
"标题"
,
"X轴标题"
,
"Y轴标题"
, miss);
|
6.在PlotBy Column的时候,会以一列的数据为一个数据系列画一条线,并把第每列的一行值作为这一条线的标题,而把第一列的每一行作为该线的横坐标。
这两种模式相同点就在于,它们都是以坐标格内的值作为纵坐标的。这里需要注意的是,如果第五和第六个参数改为2,并不是取行的第二列或列的第二行作为标题,而是取前两行或前两列,比如:
1
|
chart.ChartWizard(range, XlChartType.xlLine,miss,XlRowCol.xlColumns, 2, 0,
true
,
"标题"
,
"X轴标题"
,
"Y轴标题"
, miss);
|
7.由于系列标题设置为0,所以使用了默认的“系列X”作为标题,而横坐标则取了每列的前两行,所以共有三条线,每条线上10个点。
博文原文
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5784237.html
,如需转载请自行联系原作者