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

Use*_*123 5 c# excel

我已经创建了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
{

}
Run Code Online (Sandbox Code Playgroud)

在此先感谢Excel Automation

Sid*_*out 3

试试这个(未经测试

Excel.ChartObject myChart = (Excel.ChartObject)charts.Add(10, 70, 250, 250);
Run Code Online (Sandbox Code Playgroud)

代替

Excel.ChartObject myChart = (Excel.ChartObject)workbook.Charts[2];
Run Code Online (Sandbox Code Playgroud)

然后创建图表后,使用此代码将其移动到图表工作表

chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing);
Run Code Online (Sandbox Code Playgroud)