2

Перенос данных между DataTable и Excel с использованием C#

В современных приложениях обработка табличных данных является одной из базовых функций. С помощью C# и библиотеки Spire.XLS for .NET можно легко реализовать конвертацию данных между DataTable и Excel. В этой статье объясняется, как записывать данные из DataTable в Excel и как считывать данные из Excel в DataTable.

Что такое Spire.XLS для .NET?

Spire.XLS for .NET — это мощный компонент для работы с файлами Excel, который поддерживает создание, чтение, редактирование и конвертацию файлов Excel в приложениях на .NET. Он позволяет разработчикам выполнять различные операции с Excel-файлами без необходимости установки Microsoft Excel. Библиотека поддерживает форматы файлов для версий Excel 2003, 2007, 2010, 2013, 2016 и других, обеспечивая высокую производительность и богатый функционал, что делает её подходящей для разработки отчетов, анализа данных и приложений для импорта/экспорта данных.

Основные возможности Spire.XLS

  • Создание и редактирование Excel-файлов : динамическое создание файлов Excel и изменение их содержимого.

  • Чтение данных из Excel : быстрое считывание данных из файлов Excel и импорт в DataTable или другие структуры данных.

  • Форматирование : поддержка стилей ячеек, цвета шрифта, стилей таблиц и др.

  • Графики и изображения : возможность вставки графиков и изображений в Excel.

  • Поддержка нескольких форматов : форматы .xlsx, .xls, .xlsm, .csv и др.

Как установить Spire.XLS для .NET

Установка Spire.XLS для .NET очень проста. Ниже приведены несколько способов:

1. Через NuGet Package Manager

Наиболее распространенный способ — выполнить следующую команду в проекте:

Install-Package Spire.XLS

2. Через Visual Studio

  1. Откройте Visual Studio и перейдите к своему проекту.

  2. Щелкните правой кнопкой мыши по названию проекта в Solution Explorer и выберите "Manage NuGet Packages" .

  3. Во вкладке "Browse" найдите "Spire.XLS" .

  4. Выберите Spire.XLS и нажмите "Install" .

3. Ручная установка

Если предпочитаете ручную установку, можно скачать соответствующие DLL-файлы с официального сайта Spire.XLS и добавить их в ссылки проекта.

После установки можно использовать Spire.XLS в проекте на C# для работы с Excel.

1. Запись данных из DataTable в Excel

Ниже приведены шаги и пример кода для записи данных из DataTable в Excel.

Пример кода

using System.Data;

using Spire.Xls;

namespace WriteDataTableToExcel

{

class Program

{

static void Main(string[] args)

{

// Создание экземпляра Workbook

Workbook workbook = new Workbook();

// Удаляем стандартный лист

workbook.Worksheets.Clear();

// Добавляем новый лист и задаем имя

Worksheet worksheet = workbook.Worksheets.Add("InsertDataTable");

// Создаем объект DataTable

DataTable dataTable = new DataTable();

dataTable.Columns.Add("No", typeof(Int32));

dataTable.Columns.Add("Name", typeof(String));

dataTable.Columns.Add("City", typeof(String));

// Добавляем строки с данными

DataRow dr = dataTable.NewRow();

dr[0] = 1; dr[1] = "Tom"; dr[2] = "New York"; dataTable.Rows.Add(dr);

dr = dataTable.NewRow();

dr[0] = 2; dr[1] = "Jerry"; dr[2] = "Houston"; dataTable.Rows.Add(dr);

dr = dataTable.NewRow();

dr[0] = 3; dr[1] = "Dave"; dr[2] = "Florida"; dataTable.Rows.Add(dr);

// Записываем DataTable на лист

worksheet.InsertDataTable(dataTable, true, 1, 1, true);

// Сохраняем Excel-файл

workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016);

// Освобождаем ресурсы

workbook.Dispose();

}

}

}

Пояснение к коду

  1. Создается экземпляр Workbook и очищается стандартный лист.

  2. Создается DataTable, определяются колонки и вставляются данные.

  3. Метод InsertDataTable записывает данные из DataTable в Excel.

  4. Метод SaveToFile сохраняет данные в Excel-файл.

2. Чтение данных из Excel в DataTable

Далее показано, как считать данные из Excel-файла в DataTable.

Пример кода

using Spire.Xls;

using System.Data;

using System.Windows.Forms;

namespace ReadExcelIntoDataTable

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

// Создаем объект Workbook

Workbook wb = new Workbook();

// Загружаем существующий Excel-файл

wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx");

// Получаем первый лист

Worksheet sheet = wb.Worksheets[0];

// Экспорт данных листа в DataTable

DataTable dataTable = sheet.ExportDataTable();

// Привязываем DataTable к DataGridView

dataGridView1.DataSource = dataTable;

// Освобождаем ресурсы

wb.Dispose();

}

}

}

Пояснение к коду

  1. Создается экземпляр Workbook и загружается указанный Excel-файл.

  2. Получается первый лист, затем вызывается метод ExportDataTable для экспорта данных.

  3. Экспортированные данные привязываются к DataGridView для отображения.

  4. Освобождаются ресурсы Workbook.

Итог

С помощью библиотеки Spire.XLS for .NET можно легко конвертировать данные между DataTable и Excel. Такой подход значительно повышает эффективность разработки при анализе данных, создании отчетов и обработке информации. Надеемся, что примеры кода из этой статьи помогут вам лучше понять и применить данную технологию.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества