C# Excel互操作辅助AxisGroup仅有时出现

C# Excel互操作辅助AxisGroup仅有时出现,c#,excel,excel-interop,C#,Excel,Excel Interop,因此,我编写了一个简短的C#程序,它将获取一些文本文件并从中生成一些散点图。绘图上有2个系列和2个y轴。由于某些原因,第二个系列并不是每次运行都出现。但是,如果您使用调试器单步执行程序,则始终会出现此错误 我的2系列代码如下所示: //show records data Microsoft.Office.Interop.Excel.Series series1b = seriesCollection2.NewSeries(); series1b.

因此,我编写了一个简短的C#程序,它将获取一些文本文件并从中生成一些散点图。绘图上有2个系列和2个y轴。由于某些原因,第二个系列并不是每次运行都出现。但是,如果您使用调试器单步执行程序,则始终会出现此错误

我的2系列代码如下所示:

        //show records data

        Microsoft.Office.Interop.Excel.Series series1b = seriesCollection2.NewSeries();
        series1b.AxisGroup = XlAxisGroup.xlPrimary;
        series1b.Name = "Records";
        series1b.XValues = ws.get_Range("A" + FACT_TABLE_START.ToString() + ":A" + FACT_TABLE_END.ToString());
        series1b.Values = ws.get_Range("D" + FACT_TABLE_START.ToString() + ":D" + FACT_TABLE_END.ToString());

        System.Threading.Thread.Sleep(500);
        //show duration data
        Microsoft.Office.Interop.Excel.Series series2b = seriesCollection2.NewSeries();
        series2b.AxisGroup = XlAxisGroup.xlSecondary;
        series2b.Name = "Duration";
        series2b.XValues = ws.get_Range("A" + FACT_TABLE_START.ToString() + ":A" + FACT_TABLE_END.ToString());
        series2b.Values = ws.get_Range("E" + FACT_TABLE_START.ToString() + ":E" + FACT_TABLE_END.ToString());
大概在3/4的时间里,第二个系列会表现得很好。但其他1/4系列2B不会出现在绘图上。我猜这里发生了什么事?我添加了Sleep(500)语句,因为它似乎使series2b出现得更频繁


为什么有时只能正确创建我的图形?

如果使用图表对象的刷新方法,会发生什么?刷新()不起任何作用。我发现实际上,只有每运行一秒钟,次轴才会出现。所以它实际上只在一半的时间有效@Macromarokay,不知道为什么这样做有效,但我在最后一行之后添加了一个线程。Sleep(500),现在它似乎100%的时间都有效。虽然我不知道为什么。