使用 Microsoft.Office.Interop.Excel 读取所有行和列

the*_*ion 6 c# excel

我有 4 列 4 行的 excel 表。当我读到列和行CountMicrosoft.Office.Interop.Excel.WorkSheet行数和列是1048576的行和列16384计数必须是4行和4列。我错过了什么 ?

            ApplicationClass excelApp = null;
            Workbook myWorkBook = null;
            Worksheet mySheet = null;
            Range dataRange = null;
            excelApp = new ApplicationClass();
            myWorkBook = excelApp.Workbooks.Open(@"C:\Users\Dev2Admin\Desktop\Employees.xlsx");
            mySheet = (Worksheet)myWorkBook.Sheets["Sheet1"];


            for (int row = 1; row < mySheet.Rows.Count; row++) // Count is 1048576 instead of 4
            {
                for (int col = 1; col < mySheet.Columns.Count; col++) // Count is 16384 instead of 4
                {
                    dataRange = (Range)mySheet.Cells[row, col];
                    Console.Write(String.Format(dataRange.Value2.ToString() + " "));
                }
                Console.WriteLine();
            }
Run Code Online (Sandbox Code Playgroud)

Voj*_*nal 5

你已经省略了UsedRange属性,你的工作表上正确使用的列或行数是这样的:

  int totalColumns = mySheet.UsedRange.Columns.Count;
  int totalRows = mySheet.UsedRange.Rows.Count;
Run Code Online (Sandbox Code Playgroud)