Електронні таблиці MS Excel широко використовуються для зберігання даних малого, середнього або великого розміру. У різних випадках електронні таблиці діють як база даних для зберігання даних програми. У таких ситуаціях вам може знадобитися прочитати дані, що зберігаються у файлах Excel, із веб-програм або програм для настільних ПК. Для таких випадків у цій статті описано, як перетворити дані Excel на DataTables у C#.
- C# API для експорту даних Excel до DataTable
- Excel до DataTable на C#
- Перетворення строго типізованих даних Excel у DataTable
- Перетворення нестрого типізованих даних Excel у DataTable
- Отримайте безкоштовну ліцензію
C# Excel для перетворення DataTable API
Aspose.Cells for .NET — це бібліотека класів, яка дозволяє реалізувати функції автоматизації Excel у програмах .NET. Крім того, API дозволяє експортувати дані з робочих аркушів Excel в ADO.NET DataTable за кілька кроків. Ви можете завантажити API або встановити його за допомогою NuGet.
PM> Install-Package Aspose.Cells
Перетворення Excel на DataTable на C#
Під час експорту даних із робочих аркушів Excel до DataTables можуть бути два можливі сценарії: дані можуть бути строго типізованими або нестрого типізованими. В обох випадках ви можете виконати відповідне перетворення Excel у DataTable. Давайте розглянемо, як впоратися з будь-яким із зазначених вище сценаріїв.
Перетворення строго типізованих даних Excel на DataTable у C#
Строго типізовані дані означають, що значення в одному стовпці належать до певного типу даних. У таких випадках ви можете експортувати дані Excel до DataTable на C#, виконавши такі дії.
- Використовуйте клас Workbook, щоб завантажити файл Excel.
- Отримайте робочий аркуш, який ви хочете експортувати, в об’єкт Worksheet.
- Використовуйте метод Worksheet.Cells.ExportDataTable(int, int, int, int, bool), щоб експортувати дані в об’єкт DataTable.
- Використовуйте DataTable як джерело даних.
У наведеному нижче прикладі коду показано, як експортувати Excel до DataTable.
// Створіть потік файлів, що містить файл Excel, який потрібно відкрити
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// Створення екземпляра об’єкта Workbook
//Відкриття файлу Excel через файловий потік
Workbook workbook = new Workbook(fstream);
// Перейдіть до першого аркуша у файлі Excel
Worksheet worksheet = workbook.Worksheets[0];
// Експортуйте вміст 2 рядків і 2 стовпців, починаючи з 1-ї клітинки, до DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);
// Зв’яжіть DataTable з DataGrid
dataGridView1.DataSource = dataTable;
// Закрийте потік файлів, щоб звільнити всі ресурси
fstream.Close();
Перетворення нестрого типізованих даних Excel на DataTable у C#
Тепер давайте подивимося на інший випадок, коли значення на робочому аркуші не є строго типізованими. Це означає, що вони не належать до певного типу даних. Нижче наведено кроки для експорту даних Excel до DataTable у цьому випадку.
- Використовуйте клас Workbook, щоб завантажити файл Excel.
- Виберіть аркуш, який потрібно експортувати в об’єкт Worksheet.
- Використовуйте метод Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool), щоб експортувати дані в об’єкт DataTable.
- Використовуйте DataTable як джерело даних.
У наведеному нижче прикладі коду показано, як експортувати нестрого типізовані дані з Excel у DataTable на C#.
// Створіть потік файлів, що містить файл Excel, який потрібно відкрити
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// Створення екземпляра об’єкта Workbook
//Відкриття файлу Excel через файловий потік
Workbook workbook = new Workbook(fstream);
// Перейдіть до першого аркуша у файлі Excel
Worksheet worksheet = workbook.Worksheets[0];
// Експортуйте вміст 2 рядків і 2 стовпців, починаючи з 1-ї клітинки, до DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);
// Зв’яжіть DataTable з DataGrid
dataGridView1.DataSource = dataTable;
// Закрийте потік файлів, щоб звільнити всі ресурси
fstream.Close();
Отримайте безкоштовну ліцензію
Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати API без оціночних обмежень.
Висновок
У цій статті ви дізналися, як експортувати або перетворювати дані Excel у ADO.NET DataTables за допомогою C#. Покроковий підручник і зразки коду показали, як працювати зі строго типізованими та нестрого типізованими даними на робочих аркушах. Ви можете дізнатися більше про C# Excel API за допомогою документації.