Читання даних у файлах Excel за допомогою C#

Файли MS Excel широко використовуються для зберігання даних у вигляді рядків і стовпців. У різних випадках великі набори даних також зберігаються у файлах Excel. Часто вам доводиться читати файли Excel і отримувати дані з програм C# .NET. Щоб досягти цього за кілька простих кроків, у цій статті показано, як читати файл Excel у C#. Зокрема, тут описано, як читати дані з цілого файлу Excel або лише з одного аркуша.

C# Excel Sheet Data Reader — безкоштовно завантажити

Щоб читати дані з аркушів Excel, ми будемо використовувати Aspose.Cells for .NET. Це потужний і багатофункціональний API для створення та обробки файлів Excel. Крім того, він дозволяє легко читати файли Excel. API можна завантажити з розділу завантажень або встановити через NuGet.

PM> Install-Package Aspose.Cells

Читання файлу Excel на C#

У файлах Excel дані зберігаються в клітинках, де кожна клітинка ідентифікується своїм ім’ям (A1, B3 тощо) або індексом рядка та стовпця. Набір комірок створює робочий аркуш, а файл Excel може містити один або кілька аркушів. Нарешті, усі робочі аркуші разом утворюють робочу книгу. Aspose.Cells for .NET використовує ті самі правила іменування для роботи з файлами Excel.

Нижче наведено кроки для читання файлу Excel і отримання даних у C#.

  • Завантажте файл Excel за допомогою класу Workbook.
  • Створіть об’єкт класу WorksheetCollection і отримайте посилання на робочі аркуші за допомогою Workbook.Worksheets.
  • Запустіть цикл, щоб пройти всі аркуші в колекції, і в кожній ітерації виконайте такі дії:
    • Отримати посилання на аркуш в об’єкті Worksheet.
    • Отримайте кількість рядків і стовпців даних на аркуші.
    • Почніть петлю для рядів.
    • Запустіть вкладений цикл для стовпців.
    • Прочитайте дані з кожної клітинки за допомогою властивості Worksheet.Cells[i, j].Value.

У наведеному нижче прикладі коду показано, як читати файл Excel у C#.

// Завантажте файл Excel
Workbook wb = new Workbook("excel.xlsx");

// Отримати всі аркуші
WorksheetCollection collection = wb.Worksheets;

// Перегляньте всі аркуші
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{

    // Отримайте робочий аркуш, використовуючи його індекс
    Worksheet worksheet = collection[worksheetIndex];

    // Надрукувати назву аркуша
    Console.WriteLine("Worksheet: " + worksheet.Name);

    // Отримати кількість рядків і стовпців
    int rows = worksheet.Cells.MaxDataRow;
    int cols = worksheet.Cells.MaxDataColumn;

    // Перебирайте ряди
   for (int i = 0; i < rows; i++)
    {

        // Прокрутіть кожен стовпець у вибраному рядку
       for (int j = 0; j < cols; j++)
        {
            // Значення клітинки Pring
            Console.Write(worksheet.Cells[i, j].Value + " | ");
        }
        // Розрив рядка друку
        Console.WriteLine(" ");
    }
}

Нижче наведено вихідні дані, які ми отримуємо в консолі після запуску прикладу коду вище.

Читання даних у робочих аркушах файлу Excel на C#

Читання файлу Excel на C#

C# Читання даних із певного аркуша Excel

Ви також можете прочитати лише певний аркуш у файлі Excel, виконавши наведені нижче дії.

  • Завантажте файл Excel за допомогою класу Workbook.
  • Отримайте посилання на потрібний аркуш в об’єкті Worksheet за допомогою Workbook.Worksheets[index].
  • Отримайте кількість рядків і стовпців даних на аркуші.
  • Почніть петлю для рядів.
  • Запустіть вкладений цикл для стовпців.
  • Прочитайте дані з кожної клітинки за допомогою властивості Worksheet.Cells[i, j].Value.

У наведеному нижче прикладі коду показано, як читати дані з певного аркуша в C#.

// Завантажте файл Excel
Workbook wb = new Workbook("excel.xlsx");

// Отримайте робочий аркуш, використовуючи його індекс
Worksheet worksheet = wb.Worksheets[0];

// Надрукувати назву аркуша
Console.WriteLine("Worksheet: " + worksheet.Name);

// Отримати кількість рядків і стовпців
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;

// Перебирайте ряди
for (int i = 0; i < rows; i++)
{
    // Прокрутіть кожен стовпець у вибраному рядку
   for (int j = 0; j < cols; j++)
    {
        // Значення клітинки Pring
        Console.Write(worksheet.Cells[i, j].Value + " | ");
    }
    // Розрив рядка друку
    Console.WriteLine(" ");
}

Читайте таблиці Excel у C# – отримайте безкоштовну ліцензію

Ви можете використовувати Aspose.Cells for .NET без оціночних обмежень, отримавши безкоштовну тимчасову ліцензію.

Дізнайтеся більше про C# .NET Excel API

Ви можете дослідити інші функції Aspose.Cells for .NET за допомогою документації. Якщо у вас виникнуть запитання, не соромтеся повідомити нас через наш форум.

Висновок

У цій статті ви дізналися, як програмно читати файли Excel на C#. За допомогою зразків коду ви побачили, як читати дані з певного аркуша Excel або всіх аркушів у книзі Excel.

Дивись також