
Обзор
Excel - широко используемое электронное таблицы программное обеспечение, которое можно использовать для анализа данных, создания отчетов и многих других целей. Мы часто должны записывать данные в Excel для дальнейшей обработки и анализа. В программировании мы можем использовать различные способы записи данных в Excel, например, использование встроенных в Excel COM-компонентов, использование сторонних библиотек и т.д. Free Spire.XLS for .NET - это мощная сторонняя библиотека, которая может помочь нам легко записывать данные в Excel. В этой статье будет описано, как с помощью Free Spire.XLS for .NET записывать различные типы данных в Excel.
Установка Free Spire.XLS for .NET
В первую очередь необходимо открыть Visual Studio и открыть «Менеджер пакетов NuGet» в проекте. В поле поиска введите «FreeSpire.XLS», затем выберите последнюю версию Free Spire.XLS for .NET для установки. После установки мы можем начать использовать его для записи данных в Excel.
Запись текста и чисел в Excel в C#
using Spire.Xls;
namespace WriteDataToCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //Создание объекта Workbook 
            Workbook workbook = new Workbook();
            //Получение первой рабочей страницы
            Worksheet worksheet = workbook.Worksheets[0];
            //Запись данных в определенные ячейки
            worksheet.Range[1, 1].Value = "Имя";
            worksheet.Range[1, 2].Value = "Возраст";
            worksheet.Range[1, 3].Value = "Департамент";
            worksheet.Range[1, 4].Value = "Дата найма";
            worksheet.Range[1, 2].Value = "Хейзел";
            worksheet.Range[2, 2].Value2 = 29;
            worksheet.Range[2, 3].Value = "Маркетинг";
            worksheet.Range[2, 4].Value = "2019-07-01";
            worksheet.Range[3, 1].Value = "Тина";
            worksheet.Range[3, 2].Value2 = 31;
            worksheet.Range[3, 3].Value = "Техническая поддержка";
            worksheet.Range[3, 4].Value = "2015-04-27";
            //Автоматическое подгонка ширины столбцов
            worksheet.AllocatedRange.AutoFitColumns();
            //Применение стиля к первой строке
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 4].Style = style;
            //Сохранение в файл Excel
            workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016);
        }
    }
}
Запись одномерного или двумерного массива в Excel в C#
using Spire.Xls;
namespace WriteArraysToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //Создание экземпляра Workbook
            Workbook workbook = new Workbook();
            //Получение первой рабочей страницы
            Worksheet worksheet = workbook.Worksheets[0];
            //Создание одномерного массива
            string[] oneDimensionalArray = new string[] { "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь" };
            //Запись массива в первую строку таблицы
            worksheet.InsertArray(oneDimensionalArray, 1, 1, false);
            //Создание двумерного массива
            string[,] twoDimensionalArray = new string[,]{
               {" Имя", "Возраст", "Пол", "Отдел", "Телефон"},
               {"Джон", "25", "Мужской", "Разработка","654214"},
               {"Альберт", "24", "Мужской", "Поддержка","624847"},
               {"Эмили", "26", "Женский", "Продажи","624758"}
            };
            //Запись массива в таблицу, начиная с ячейки A3
            worksheet.InsertArray(twoDimensionalArray, 3, 1);
            //Автоматическое подгонка ширины столбцов
            worksheet.AllocatedRange.AutoFitColumns();
            //Применение стиля к первой и третьей строке
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 6].Style = style;
            worksheet.Range[3, 1, 3, 6].Style = style;
            //Сохранение в файл Excel
            workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016);
        }
    }
}
Запись DataTable в Excel в C#
using System;
using System.Data;
using Spire.Xls;
namespace WriteDataTableToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //Создание экземпляра Workbook
            Workbook workbook = new Workbook();
            //Получение первой рабочей страницы
            Worksheet worksheet = workbook.Worksheets[0];
            //Создание объекта DataTable
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("SKU", typeof(Int32));
            dataTable.Columns.Add("NAME", typeof(String));
            dataTable.Columns.Add("PRICE", typeof(String));
            //Создание строк и добавление данных
            DataRow dr = dataTable.NewRow();
            dr[0] = 512900512;
            dr[1] = "Беспроводная мышь M200";
            dr[2] = "$85";
            dataTable.Rows.Add(dr);
            dr = dataTable.NewRow();
            dr[0] = 512900637;
            dr[1] = "B100 Cored Mouse";
            dr[2] = "$99";
            dataTable.Rows.Add(dr);
            dr = dataTable.NewRow();
            dr[0] = 512901829;
            dr[1] = "Игровая мышь";
            dr[2] = "$125";
            dataTable.Rows.Add(dr);
            dr = dataTable.NewRow();
            dr[0] = 512900386;
            dr[1] = "Оптическая мышь ZM";
            dr[2] = "$89";
            dataTable.Rows.Add(dr);
            //Запись DataTable в таблицу
            worksheet.InsertDataTable(dataTable, true, 1, 1, true);
            //Автоматическое подгонка ширины столбцов
            worksheet.AllocatedRange.AutoFitColumns();
            //Применение стиля к первой строке
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 3].Style = style;
            //Сохранение в файл Excel
            workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016);
        }
    }
}
Другие функции
Помимо записи данных в Excel, Free Spire.XLS for .NET также поддерживает множество других особенностей, таких как:
- C#/VB.NET преобразование Excel в PDF 
- C#/VB.NET создание столбчатой диаграммы в Excel 
- C#/VB.NET печать документов Excel 
- C#/VB.NET Завернуть или развернуть текст в ячейках Excel 
Выводы
В этой статье мы рассмотрели, как с помощью Spire.XLS for .NET создавать документы Excel и продемонстрировали некоторые распространенные методы записи данных. Free Spire.XLS for .NET - это очень мощный компонент Excel, который может помочь разработчикам легко создавать, читать и редактировать документы Excel, тем самым.
Комментарии (15)
 - Lolohaev20.06.2023 14:41+4- Немного странная статья. - К данной библиотеке можно прибегнуть если есть ограничение на формат 2003 года, если же мы вольны пользоваться новой версией файла, то openxml куда удобнее и проще в использовании. И никто не будет предлагать заплатить за расширенные возможности коммерческого продукта. 
 - petuhov_k20.06.2023 14:41- Переводы теперь никак не помечаются? Или автор не русскоговорящ?  - YuryZakharov20.06.2023 14:41- Просто кто-то обучил нейросеть на выборке с Aliexpress. Ну, или пробудили древнее зло, Промпт. 
 
 - dyadyaSerezha20.06.2023 14:41+4- Заголовок неверный. Запись данных не в Excel, а в Excel-файл. Сам Excel не открывается вообще. - Правильный заголовок: работа с файлами Excel в С#.  - Linder66620.06.2023 14:41- только было хотел сказать, а нафига эта прослойка, если Interop нормально работает) А оно вон оно как, совсем без Excel'я 
 
 - k-semenenkov20.06.2023 14:41+2- Я в последнее время остановился на https://github.com/salvois/LargeXlsx. Малюсенький (длл около 50к) и позволяет создавать большие файлы при небольшом потреблении памяти. 
 - dopusteam20.06.2023 14:41- Free Spire.XLS for .NET - это очень мощный компонент Excel, который может помочь разработчикам легко создавать, читать и редактировать документы Excel, тем самым. - "Тем самым" что? Или кому, тем самым? Или чем, тем самым? 
 - Aipomru20.06.2023 14:41- А чего тут уникального то? Та же ClosedXML: - using ClosedXML.Excel; - ... - var wb = new XLWorkbook(); 
 var ws = wb.Worksheet(1);
 ws.Name = "Имя листа";- var tableWithData1 = ws.Cell(1,1).InsertTable(dataTable.AsEnumerable()); // Наша dateTable 
 tableWithData1.ShowAutoFilter = false; // "Можно фильтр не отключать"- ws.Columns().AdjustToContents(); // "Немного косметики" 
 wb.SaveAs(fn); // fn - куда пишем- аналогично массив, только вместо InsertTable -> InsertData, - Да, и у ClosedXML лицензия MIT... - Аналогично - EPPlus, лицензия - непонятная/и более другая - А ещё можно подключить файл Excel через OleDB и работать как с базой данных. Но там свои нюансы. 
 - aborouhin20.06.2023 14:41+1- Город в профиле автора и город в контактах разработчика библиотек Spire удивительным образом совпадают (Chengdu, Sichuan, Китай). Что объясняет как выбор библиотеки, так и неидеальный русский язык :) 
 - now20.06.2023 14:41
 
           
 


gdt
That's the neat part, you don't
/s