6

我已经创建了 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 自动化

4

3 回答 3

3

试试这个(未经测试

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);
于 2012-08-14T18:14:55.040 回答
0

这样做的方法是使用Add 方法

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

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

编辑:

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

Excel.Workbook xlWorkbook;
Excel.Chart chartName = (Excel.Chart)xlWorkbook.Charts.Add2();
于 2019-12-06T15:22:44.837 回答
0
Excel.Application oXL = new Excel.Application();

之后

oXL.Run()并见附件:

在此处输入图像描述

于 2021-04-27T10:17:59.650 回答