C# 如何使用C在Excel中添加图表表#

C# 如何使用C在Excel中添加图表表#,c#,excel,C#,Excel,我已经创建了sheet1,并在工作表中填充了一些数据,使用sheet1中的数据我想创建一个带有数据绘图的图表工作表 try { app = new Excel.Application(); app.Visible = true; workbook = app.Workbooks.Add(1); worksheet = (Excel.Worksheet)workbook.Sheets[1]; PopulateDateInExcel(pathtologsfo

我已经创建了sheet1,并在工作表中填充了一些数据,使用sheet1中的数据我想创建一个带有数据绘图的图表工作表

try
{
    app = new Excel.Application();
    app.Visible = true;
    workbook = app.Workbooks.Add(1);
    worksheet = (Excel.Worksheet)workbook.Sheets[1];

    PopulateDateInExcel(pathtologsfolder, startdate, enddate);
    // create a chart

    Excel.Range chartRange;
    object misValue = System.Reflection.Missing.Value;
    Excel.ChartObjects xlCharts = (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing);
    Excel.ChartObject myChart = (Excel.ChartObject)workbook.Charts[2];
    Excel.Chart chartPage = myChart.Chart;
    chartRange = worksheet.get_Range("AN1", "AP6");
    chartPage.SetSourceData(chartRange, misValue);
    chartPage.ChartType = Excel.XlChartType.xl3DLine; 
}
catch (Exception e)
{
    //Console.Write("Error");
}
finally
{

}
提前感谢,, Excel自动化

试试这个(未经测试

而不是

Excel.ChartObject myChart = (Excel.ChartObject)workbook.Charts[2];
创建图表后,使用以下代码将其移动到图表工作表

chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing);

这样做的方法是使用:

诚然,至少在我的实验中,这会造成麻烦,因为默认情况下它使用的数据集是相当随机的(Excel magic…),因此您可能需要在以后重新格式化它(删除和添加数据集等),但这是实现这一点的方法

编辑:

我应该注意到,Excel支持文档似乎推荐了这种方法,但我没有成功地使用它:

Excel.Workbook xlWorkbook;
Excel.Chart chartName = (Excel.Chart)xlWorkbook.Charts.Add2();
然后呢

oXL.Run()
并参见附件:


我想创建一个新的图表,添加一个新的图表,绘制数据。。。。。但是在添加图表表Excel.ChartObject myChart=(Excel.ChartObject)工作簿.Charts[2]时出现异常;
Excel.Workbook xlWorkbook;
Excel.Chart chartName = (Excel.Chart)xlWorkbook.Charts.Add();
Excel.Workbook xlWorkbook;
Excel.Chart chartName = (Excel.Chart)xlWorkbook.Charts.Add2();
Excel.Application oXL = new Excel.Application();