Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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# 是否取消隐藏所有隐藏的Excel列而不进行单独迭代?_C#_Excel_Vsto - Fatal编程技术网

C# 是否取消隐藏所有隐藏的Excel列而不进行单独迭代?

C# 是否取消隐藏所有隐藏的Excel列而不进行单独迭代?,c#,excel,vsto,C#,Excel,Vsto,是否可以取消隐藏excel工作表的所有隐藏列 这是我取消隐藏所有隐藏行的代码。我不想额外检查所使用的列范围有多远,并对其进行迭代 foreach (string filePath in _allFiles) { try { _wb = _app.Workbooks.Open(filePath, ReadOnly: false); foreach (Excel.Work

是否可以取消隐藏excel工作表的所有隐藏列

这是我取消隐藏所有隐藏行的代码。我不想额外检查所使用的列范围有多远,并对其进行迭代

foreach (string filePath in _allFiles)
        {
            try
            {
                _wb = _app.Workbooks.Open(filePath, ReadOnly: false);

                foreach (Excel.Worksheet ws in _wb.Worksheets)
                {
                    try
                    {
                        string abc = ws.Name;
                        ws.ShowAllData(); /* needs try catch 'cause if no filters are applied, it will throw an exception */
                    }
                    catch (Exception ex)
                    {   }
                }
            }
            catch (Exception ex2)
            {   }
            finally
            {
                _wb.Save();
                _wb.Close();
                //_app.Quit();
                //Marshal.ReleaseComObject(_app);
            }
        }
        _app.Quit();
        Marshal.ReleaseComObject(_app);

我发现,要确定一个具体的动作应该怎么做,就是创建一个vba宏的过程。然后将宏转换为互操作调用

我发现,对于每个工作簿,可以调用并设置(如VBA宏中所示)列和行集合,如下所示:

Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False

您仍然需要在工作簿之间进行迭代,并调用适当的C#interop方法。

标记Rows.EntireRow.Hidden=false不起作用。但对于专栏来说,它就像一种魅力,谢谢!ws.ShowAllData();对于行来说效果很好。