【IT168 评论】其中设置图表区域比较关键,区域中包含了标题行。ChartWizard的第二个参数指明了图表的类型,第四个参数指明了以行还是列的值作为一个数据系列,第五个参数和第六个参数则指明分别作为横轴坐标和系列名称的单元格。
以Line类型图表为例,数据如下:
那么根据第四个参数的不同会有两种不同图表: chart.ChartWizard(range, XlChartType.xlLine,miss,XlRowCol.xlRows, 1, 1, true, "标题", "X轴标题", "Y轴标题", miss);
在PlotBy Row的时候,会以一行的数据为一个数据系列画一条线,并把第每行的一列值作为这一条线的标题,而把第一行的每一列作为该线的横坐标。 chart.ChartWizard(range, XlChartType.xlLine,miss,XlRowCol.xlColumns, 1, 1, true, "标题", "X轴标题", "Y轴标题", miss);
在PlotBy Column的时候,会以一列的数据为一个数据系列画一条线,并把第每列的一行值作为这一条线的标题,而把第一列的每一行作为该线的横坐标。 这两种模式相同点就在于,它们都是以坐标格内的值作为纵坐标的。这里需要注意的是,如果第五和第六个参数改为2,并不是取行的第二列或列的第二行作为标题,而是取前两行或前两列,比如: chart.ChartWizard(range, XlChartType.xlLine,miss,XlRowCol.xlColumns, 2, 0, true, "标题", "X轴标题", "Y轴标题", miss);
由于系列标题设置为0,所以使用了默认的“系列X”作为标题,而横坐标则取了每列的前两行,所以共有三条线,每条线上10个点。 6.保存Excel 保存前,需要先刷新,使新的记录能被记下: Workbook workBook = excelApp.Workbooks[1];
workBook.RefreshAll();
之后的保存,也有两种方法: 1.直接保存,当之前通过Open方法创建Excel文件,并没有设为只读时,可以用这种方法,比较简单: Workbook workBook = excelApp.Workbooks[1];
workBook.Save();
2.这一种方法的比较灵活,就是SaveAs(),相当于界面操作的另存为,但这个方法的问题和创建Workbook时的第一种方法一样,参数比较多,虽然大部分可以用miss。 Workbook workBook = excelApp.Workbooks[1];
object miss = Missing.Value; workBook.SaveAs(path, miss, miss, miss, miss, miss, XlSaveAsAccessMode.xlNoChange, miss, miss, miss, miss, miss);
保存之后要关闭WorkBook: workBook.Close(false, miss, miss);
workBook = null; 7.最后需要清空内存 excelApp.Quit();
excelApp = null; GC.Collect(); |
|