select所有可见的行和列的Excel

我有一个dynamic的Excel表,其中一些行和列是隐藏的。 我不知道哪些行和哪些列被隐藏,因为他们不断变化。 我需要提取所有可见的数据并创build一个行列表。 这就是我现在所拥有的:

Excel.Application excelApp = new Excel.Application(); excelApp.DisplayAlerts = false; string cellValue = string.Empty; string fileName = @"C:\Source\filename.xlsx"; CorpData datatest = new CorpData(); if (File.Exists(fileName)) { excelApp.Workbooks.Open(fileName, true, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Excel.Worksheet excelWorkSheet = (Excel.Worksheet)excelApp.Workbooks[1].Sheets["Sheet1"]; Excel.Range usedRrange = excelWorkSheet.UsedRange.SpecialCells(Excel.XlCellType.xlCellTypeVisible); int count = usedRrange.Count; int rowCount = usedRrange.Count / usedRrange.Columns.Count; foreach (Excel.Range area in usedRrange.Areas) { foreach (Excel.Range row in area.Rows) { string[] rowData = new String[7]; for (int j = 0; j < 7; j++) { Excel.Range rowRange = excelWorkSheet.Cells[row.Row, j + 1]; if (rowRange.Value2 != null) { rowData[j] = rowRange.Value2.ToString(); } } datatest.DataList.Add(new DataItem(rowData[0], rowData[1], rowData[2], rowData[3], rowData[4], rowData[5], rowData[6])); } } } 

这里的问题是,我能够摆脱所有隐藏的行,但由于我parsing了所有列的主要Excel,我仍然得到隐藏的列值。 如果有人能指引我正确的方向。

谢谢!