C# 如何更改外接程序、工作簿或工作表(不适用于图表)的默认图表类型?

C# 如何更改外接程序、工作簿或工作表(不适用于图表)的默认图表类型?,c#,excel,charts,C#,Excel,Charts,如果用户以前设置了属于以下图表组之一的MS Excel默认图表,Excel加载项将生成错误创建图表:股票图表和曲面图表。最后一个错误是:指定的维度对于当前图表类型无效 我使用ChartObjects,无法添加没有错误的空图表,因此无法设置图表类型。 问题是,如果您试图在没有正确选择数据的情况下创建图表,Excel会为该图表生成错误。通过将其中一种类型设置为默认值并按Alt+F1,您可以自己尝试 有人知道如何更改外接程序、工作簿或工作表的默认图表类型吗?我知道图表的解决方案一些信息在这里:,但图表

如果用户以前设置了属于以下图表组之一的MS Excel默认图表,Excel加载项将生成错误创建图表:股票图表和曲面图表。最后一个错误是:指定的维度对于当前图表类型无效

我使用ChartObjects,无法添加没有错误的空图表,因此无法设置图表类型。 问题是,如果您试图在没有正确选择数据的情况下创建图表,Excel会为该图表生成错误。通过将其中一种类型设置为默认值并按Alt+F1,您可以自己尝试

有人知道如何更改外接程序、工作簿或工作表的默认图表类型吗?我知道图表的解决方案一些信息在这里:,但图表甚至无法创建

现在我只建议在主图表制作程序之前进行检查

            try
            {
                Excel.Shape chart_tmp = xlMYSheet.Shapes.AddChart(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                chart_tmp.Delete();
            }
            catch (Exception)
            {
                //throw;
                MessageBox.Show("You can’t create chart properly if you have previously set an MS Excel default chart belonging to one of the following chart groups: Stock charts and Surface charts. Please set any other MS Excel default chart type.",
                                "Change MS Excel default chart type", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                throw new Exception("MS Excel default chart type is need to be changed!");
更新: 在主代码中,我使用Excel.ChartObjects。不管怎样,它都会在添加图表时出错。 这就是为什么我做这么简单的检查

    // No error
    Excel.Shape chart_tmp = xlSourceSheet.Shapes.AddChart(Excel.XlChartType.xlLine, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    chart_tmp.Delete();
    // Error in any case if wrong default charts had been set by user
    Excel.ChartObjects xlDestCharts = (Excel.ChartObjects)xlSourceSheet.ChartObjects(Type.Missing);
    Excel.ChartObject MyChart = xlDestCharts.Add(0, 0, 100, 500);

AddChart的第一个参数是xlChartType枚举值。你试过在那里指定一个值吗?我已经更新了主要问题。