【问题标题】:How to add the Chart sheet in Excel using C#如何使用 C# 在 Excel 中添加图表工作表
【发布时间】:2021-04-27 19:19:37
【问题描述】:

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

标签: c# excel


【解决方案1】:

试试这个(未测试

Excel.ChartObject myChart = (Excel.ChartObject)charts.Add(10, 70, 250, 250);

而不是

Excel.ChartObject myChart = (Excel.ChartObject)workbook.Charts[2];

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

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

【讨论】:

    【解决方案2】:

    这样做的方法是使用Add method

    Excel.Workbook xlWorkbook;
    Excel.Chart chartName = (Excel.Chart)xlWorkbook.Charts.Add();
    

    诚然,至少在我的实验中,这会导致麻烦,因为它默认使用的数据集是相当随机的(Excel 魔术...),因此您可能需要在之后重新格式化它(删除和添加数据集等),但是就是这样做的方法。

    编辑:

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

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

    【讨论】:

      【解决方案3】:
      Excel.Application oXL = new Excel.Application();
      

      然后

      oXL.Run() 见附件:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-28
        • 1970-01-01
        • 1970-01-01
        • 2022-11-16
        • 1970-01-01
        • 2016-04-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多