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

Отправьте статью сегодня! Журнал выйдет 2 ноября, печатный экземпляр отправим 6 ноября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

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

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

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

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

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



Как другие языки программирования, С# имеет множество библиотек, которые работают с пакетами 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, CSV, ODS, XLS, API, поток файла, Привет мир, физический файл.


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

Компонент GemBox.Document и MS Word

Использование сервиса API SendGrid для реализации отправки Email-сообщений в проекте ASP.NET Core

В данной статье рассмотрено использование Email-рассылки при помощи API SendGrid в проекте ASP.NET Core.

Использование двухфакторной аутентификации в проекте ASP.NET Core

Данная статья рассматривает процесс настройки двухфакторной аутентификации в проектах ASP.NET Core.

Автоматизированная разработка базы данных Oracle с помощью CA ERWin Data Modeler

Автоматизированное добавление печатных штампов при помощи Adobe Acrobat 6.0 благодаря использованию Visual Basic (VBA) и JavaScript

В статье рассматривается наиболее простой способ добавления печатных штампов в документ MS Word, а именно при помощи макроса, описанного на языке программирования Visual Basic for Application с использованием Adobe Acrobat 6.0 и элементов программиро...

Комбинация средств UML И CSP-OZ для разработки приложений баз данных

Использование Интернет-ресурсов второго поколения Web 2.0 в обучении аудированию

Использование среды GeoGebra при решении задач с параметрами

Создание простого ar-приложения с использованием Unity и Vuforia engine

В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

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

Компонент GemBox.Document и MS Word

Использование сервиса API SendGrid для реализации отправки Email-сообщений в проекте ASP.NET Core

В данной статье рассмотрено использование Email-рассылки при помощи API SendGrid в проекте ASP.NET Core.

Использование двухфакторной аутентификации в проекте ASP.NET Core

Данная статья рассматривает процесс настройки двухфакторной аутентификации в проектах ASP.NET Core.

Автоматизированная разработка базы данных Oracle с помощью CA ERWin Data Modeler

Автоматизированное добавление печатных штампов при помощи Adobe Acrobat 6.0 благодаря использованию Visual Basic (VBA) и JavaScript

В статье рассматривается наиболее простой способ добавления печатных штампов в документ MS Word, а именно при помощи макроса, описанного на языке программирования Visual Basic for Application с использованием Adobe Acrobat 6.0 и элементов программиро...

Комбинация средств UML И CSP-OZ для разработки приложений баз данных

Использование Интернет-ресурсов второго поколения Web 2.0 в обучении аудированию

Использование среды GeoGebra при решении задач с параметрами

Создание простого ar-приложения с использованием Unity и Vuforia engine

В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

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