Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c excel com互操作:在工作表之间移动图表_C#_Excel_Exception_Com_Interop - Fatal编程技术网

C# c excel com互操作:在工作表之间移动图表

C# c excel com互操作:在工作表之间移动图表,c#,excel,exception,com,interop,C#,Excel,Exception,Com,Interop,我已经使用c excel com互操作生成了一个工作簿。我有一些只有数据的表格,还有附带的图表。图表和工作表位于工作簿中单独的excel选项卡上 在生成图表和图纸的过程中,所有图纸首先分组,而图表组在选项卡列表中位于第二位。我想将各个图表选项卡放在相应的工作表选项卡之后。这就是我到目前为止所做的: private void move_charts_into_position(Excel.Workbook workbook) { int tab_count = 1;

我已经使用c excel com互操作生成了一个工作簿。我有一些只有数据的表格,还有附带的图表。图表和工作表位于工作簿中单独的excel选项卡上

在生成图表和图纸的过程中,所有图纸首先分组,而图表组在选项卡列表中位于第二位。我想将各个图表选项卡放在相应的工作表选项卡之后。这就是我到目前为止所做的:

    private void move_charts_into_position(Excel.Workbook workbook)
    {
        int tab_count = 1;
        foreach (Excel.Chart chart_tab in workbook.Charts)
        {
            Console.WriteLine(chart_tab.Index.ToString()); //prints chart 1 here
            if (tab_count + 1 > workbook.Sheets.Count)
                chart_tab.Move(workbook.Sheets[tab_count], Type.Missing);
            else
                chart_tab.Move(workbook.Sheets[tab_count], workbook.Sheets[tab_count + 1]); //fails at first iteration here

            tab_count+=2;
        }
    }
这将生成一个无法在运行时获取图表类COM异常的Move属性。我认为这很可能是因为Sheets集合被作为移动的参数传递

有什么可以帮助我理解这些物体的一般性建议吗?我有一种预感,我可以使用一些铸造技巧,使这项工作


谢谢。

显然,图表是放在纸张容器中的。我通过从工作簿中的“工作表”数组中抓取图表来将图表移动到位