Манипуляция Excel С# c помощью GemBox | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Информатика

Опубликовано в Молодой учёный №18 (204) май 2018 г.

Дата публикации: 07.05.2018

Статья просмотрена: 37 раз

Библиографическое описание:

Бакаев И. И. Манипуляция Excel С# c помощью GemBox // Молодой ученый. — 2018. — №18. — С. 13-16. — URL https://moluch.ru/archive/204/49954/ (дата обращения: 20.09.2018).



Как другие языки программирования, С# имеет множество библиотек, которые работают с пакетами Microsoft Excel. Из них самая развитая — библиотека Gembox. GemBox предлагает возможность работать с MS Word, Excel, Email, PowerPoint и другим ПО. Рассмотрим в качестве примера компонент GemBox.Spreadsheet.

GemBox.Spreadsheet — это компонент .NET, который позволяет вам читать, писать, редактировать, конвертировать и печатать файлы электронных таблиц из ваших приложений .NET с помощью одного простого API. GemBox.Spreadsheet работает в NET Fraemwork 3.0 или выше.

Чтобы воспользоваться бесплатном версиями, надо загрузить из сайта gemboxsoftware.com компонент GemBox.Spreadsheet. В бесплатный версии во время чтения или записи файлов применяются следующие ограничения:

 Максимальное количество строк на лист — 150.

 Максимальное количество листов на книгу составляет 5.

В следующем примере создается простой файл Excel с использованием кода C #. Он показывает, как инициализировать модель содержимого GemBox.Spreadsheet, заполнить некоторые ячейки, а затем сохранить экземпляр ExcelFile в файл в нужном формате.

static void Main(string[] args)

{

// Установите лицензионный ключ для использования GemBox.Spreadsheet в свободном режиме.

SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");

// Создаем новый пустой файл Excel.

var workbook = new ExcelFile();

// Создаем новый лист и задаем значение ячейки A1 для «Привет мир!».

workbook.Worksheets.Add("GemBox").Cells["A1"].Value = "Привет мир!";

/* Альтернативный варианты кода

ExcelFile workbook = new ExcelFile();

ExcelWorksheet ws = workbook.Worksheets.Add("GemBox");

ws.Cells[0, 0].Value = "Привет, мир!";

*/

// Сохранить в файл XLSX.

workbook.Save("Book1.xlsx");

}

Рис. 1. Скриншот

GemBox.Spreadsheet может читать многие форматы файлов Excel (включая XLS, XLSX, CSV и ODS) таким же образом. В частности, он использует метод Load для чтения из физического файла Excel или потока файла Excel в C #.

Чтение файла Excel в C #.

В следующем примере показано, как читать все ExcelCells, их значение и типы значений, в ExcelFile объекта.

static void Main(string[] args)

{

// Если вы используете Professional, поставьте свой серийный ключ ниже.

SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");

ExcelFile exl = ExcelFile.Load("Spreadsheet.xlsx");

StringBuilder sbstr = new StringBuilder();

// Итерировать все листы в книге Excel.

foreach (ExcelWorksheet sheet in exl.Worksheets)

{

foreach (ExcelRow row in sheet.Rows)

{

sbstr.AppendLine();

// Итерируем через все выделенные ячейки в строке Excel.

foreach (ExcelCell cell in row.AllocatedCells)

{

if (cell.ValueType != CellValueType.Null)

sbstr.Append(string.Format("{0}", cell.Value).PadRight(25));

else

sbstr.Append(new string(' ', 25));

}

}

}

Console.WriteLine(sbstr.ToString());

Запись файла Excel в C #.

GemBox.Spreadsheet может записывать множество форматов файлов Excel (включая XLS, XLSX, CSV и ODS) таким же образом. В частности, он использует метод Save для записи в физический файл Excel или поток файла Excel в C#.

В следующем примере показано, как создавать типичные данные таблицы для объекта ExcelFile, чтобы создать новый файл Excel. Он также показывает, как объединить ячейки, указать свойства столбца и установить значение Cell.

Обратите внимание, что в этом примере создается весь файл Excel с нуля.

static void Main(string[] args)

{

SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");

ExcelFile ef = new ExcelFile();

ExcelWorksheet ws = ef.Worksheets.Add("GemBox");

//Табличные данные образца для записи в файл Excel.

object[,] datavar = new object[4, 3]

{

{"№", "Страна", "Город"},

{ 1, "Узбекистан", "Бухара"},

{ 2, "Узбекистан", "Самарканд"},

{ 3, "Узбекистан", "Ташкент"}

};

ws.Cells[0, 0].Value = "Это моя родина";

CellRange mergedRange = ws.Cells.GetSubrangeAbsolute(0, 0, 0, 2);

mergedRange.Merged = true;

CellStyle tmpStyle = new CellStyle();

tmpStyle.HorizontalAlignment = HorizontalAlignmentStyle.Center;

tmpStyle.VerticalAlignment = VerticalAlignmentStyle.Center;

tmpStyle.Font.Weight = ExcelFont.BoldWeight;

tmpStyle.WrapText = true;

mergedRange.Style = tmpStyle;

// Ширина столбца 8, 30, 16, 9, 9, 9, 9, 4 и 5 символов.

ws.Columns[0].Width = 8 * 256;

ws.Columns[1].Width = 30 * 256;

ws.Columns[2].Width = 16 * 256;

ws.Columns[3].Width = 9 * 256;

// Запись и форматирование данных образца в ячейки Excel.

for (int i = 1; i < 4; i++)

for (int j = 0; j < 3; j++)

{

ExcelCell cell = ws.Cells[i, j];

cell.Value = datavar[i, j];

}

ef.Save("Writing.xlsx");

}

Рис. 2.

Литературыа:

  1. В. В. Зиборов. Visual C# 2012 на примерах. — СПб: БХВ-Петербург, 2013. — 480 с.: ил.
  2. Карли Уотсон, Кристиан Нейгел, Якоб Хаммер Педерсен, Джон Рид, Морган Скиннер. Visual C# 2010: Полный курс.: Пер. с англ. — М.: ООО “И. Д. Вильямс”, 2011. -960 с. ил.
Основные термины (генерируются автоматически): FREE-LIMITED-KEY, NET, XLSX, XLS, CSV, ODS, Привет мир, поток файла, API, физический файл.


Похожие статьи

Компонент GemBox.Document и MS Word | Статья в журнале...

{ ComponentInfo.SetLicense("FREE-LIMITED-KEY")

GemBox.Document поддерживает запись документов Word в C # в файл или поток. Формат файла документа задается с помощью классов, созданных с помощью SaveOptions, или расширения имени файла.

Применение библиотеки AForge.NET и ее расширения Accord.NET...

После слияния с проектом AForge.NET, в настоящее время платформа предлагает унифицированный API, для обучения машинным моделям, который является простым в

Эти каскады можно вызывать непосредственно из кода без необходимости загрузки файлов XML.

Обзорное описание метода Multi-Fragment-ReplicationJoin...

Запись файла Excel в C #. GemBox.Spreadsheet может записывать множество форматов файлов Excel (включая XLS, XLSX, CSV и ODS) таким же образом. Он также показывает, как объединить ячейки, указать свойства столбца и установить значение Cell.

Системы сбора информации в аспекте кибербезопасности

NXlog может собирать журналы из файлов в различных форматах, получать журналы из сети

– экспортировать отчеты в форматы CSV, XLS, PDF или HTML.

Snort поддерживается на ряде аппаратных платформ и операционных систем, таких как Linux, open-BSD, free-BSD, Windows.

Обзор систем обмена сообщениями | Статья в журнале...

Конфигурация RabbitMQ устанавливается в файле rabbitmq.config и содержит множество настраиваемых параметров.

– Клиентских библиотек AMQP для Java и.NET Framework

Поток сообщений (message) определенного типа в терминах службы называется темой (topic).

Разработка подхода к проектированию взлётно-посадочных...

Далее возникает вопрос технической реализации сквозного потока данных. В примере на рисунке 1 промежуточный файл предлагается в форматах, поддерживаемых Microsoft Excel, что не случайно, так как экспорт и импорт файлов в форматах xls, xlsx, csv и т. п...

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Обычно IP-спуфинг ограничивается вставкой ложной информации или вредоносных команд в обычный поток данных, передаваемых между клиентским и серверным

Если главная задача состоит в получении от системы важного файла, ответы приложений не имеют значения.

Анализ системы мониторинга NetXMS | Статья в журнале...

В файле sources.list добавляем источник пакетов

EKM позволяет использовать программный интерфейс Microsoft Cryptographic API (CryptoAPI) для шифрования и генерации ключей.

net: для управления сетевыми интерфейсами; ‒ ipc: для управления IPC ресурсами.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Компонент GemBox.Document и MS Word | Статья в журнале...

{ ComponentInfo.SetLicense("FREE-LIMITED-KEY")

GemBox.Document поддерживает запись документов Word в C # в файл или поток. Формат файла документа задается с помощью классов, созданных с помощью SaveOptions, или расширения имени файла.

Применение библиотеки AForge.NET и ее расширения Accord.NET...

После слияния с проектом AForge.NET, в настоящее время платформа предлагает унифицированный API, для обучения машинным моделям, который является простым в

Эти каскады можно вызывать непосредственно из кода без необходимости загрузки файлов XML.

Обзорное описание метода Multi-Fragment-ReplicationJoin...

Запись файла Excel в C #. GemBox.Spreadsheet может записывать множество форматов файлов Excel (включая XLS, XLSX, CSV и ODS) таким же образом. Он также показывает, как объединить ячейки, указать свойства столбца и установить значение Cell.

Системы сбора информации в аспекте кибербезопасности

NXlog может собирать журналы из файлов в различных форматах, получать журналы из сети

– экспортировать отчеты в форматы CSV, XLS, PDF или HTML.

Snort поддерживается на ряде аппаратных платформ и операционных систем, таких как Linux, open-BSD, free-BSD, Windows.

Обзор систем обмена сообщениями | Статья в журнале...

Конфигурация RabbitMQ устанавливается в файле rabbitmq.config и содержит множество настраиваемых параметров.

– Клиентских библиотек AMQP для Java и.NET Framework

Поток сообщений (message) определенного типа в терминах службы называется темой (topic).

Разработка подхода к проектированию взлётно-посадочных...

Далее возникает вопрос технической реализации сквозного потока данных. В примере на рисунке 1 промежуточный файл предлагается в форматах, поддерживаемых Microsoft Excel, что не случайно, так как экспорт и импорт файлов в форматах xls, xlsx, csv и т. п...

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Обычно IP-спуфинг ограничивается вставкой ложной информации или вредоносных команд в обычный поток данных, передаваемых между клиентским и серверным

Если главная задача состоит в получении от системы важного файла, ответы приложений не имеют значения.

Анализ системы мониторинга NetXMS | Статья в журнале...

В файле sources.list добавляем источник пакетов

EKM позволяет использовать программный интерфейс Microsoft Cryptographic API (CryptoAPI) для шифрования и генерации ключей.

net: для управления сетевыми интерфейсами; ‒ ipc: для управления IPC ресурсами.

Задать вопрос