C # и чтение данных Excel: Rows.Count равен 0, несмотря на наличие данных в моем файле Excel - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь прочитать данные из файла Excel и сохранить их в двумерном массиве. Однако функции, которые я вызываю на своем листе Excel, по-видимому, возвращают 0, например количество строк / столбцов, несмотря на то, что на моем листе Excel есть данные. Есть ли какое-то форматирование, которое я должен сделать с моим листом Excel?

Например, когда я вызываю функцию подсчета строк в общем диапазоне, а не в используемом диапазоне, в xlSheet, по некоторым причинам возвращается 0.

public static String[,] ReadExcelData(string fileName, string sheet)
        {
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(fileName);
            Excel.Worksheet xlSheet = (Excel.Worksheet)xlWorkbook.Sheets[sheet];
            Excel.Range range = xlSheet.UsedRange;

            int rowCount = range.Rows.Count;
            int columnCount = range.Columns.Count;
            String[,] dataArray = new String[rowCount, columnCount];

            for (int currColumn = 1; currColumn <= columnCount; currColumn++)
            {
                for (int currRow = 1; currRow <= rowCount; currRow++)
                {
                    if (range.Cells[currRow, currColumn] == null || range.Cells[currRow, currColumn].ToString() == "n/a")
                    {
                        dataArray[currRow - 1, currColumn - 1] = "";
                    }
                    else
                    {
                        dataArray[currRow - 1, currColumn - 1] = range.Cells[currRow, currColumn].ToString();
                    }
                }
            }
            xlWorkbook.Close();
            return dataArray;
        }

1 Ответ

1 голос
/ 13 июня 2019

Рекомендую ExcelDataReader, если вы хотите только читать данные.

Пример ExcelDataReader: https://csharp.hotexamples.com/examples/-/ExcelDataReader/-/php-exceldatareader-class-examples.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...