netcore версия SimpeExcel. Библиотека для удобной работы с Excel, включая чтение, создание, изменение и т. д. Поддерживает прямое преобразование DataSet, IEnumerable и linq-выражений в рабочие листы Excel. Также поддерживает управление стилем рабочего листа через атрибуты.
var workbook = new WorkBook();
var sheet = workbook.NewSheet("Hello");
sheet.Rows[0][0].Value = "Hello World";
workbook.Save(@"F:\test.xls");
using SimpleExcel;
. В этом пространстве имён есть два основных класса: WorkBook
и Sheet
. WorkBook
используется для операций со всем файлом Excel, таких как создание, открытие и сохранение, а Sheet
— для операций с рабочими листами, такими как добавление и изменение данных в определённых ячейках, пакетный импорт из источника данных и так далее. Вот примеры кода:Создание рабочей книги и рабочего листа:
var workbook = new WorkBook();
var sheet = workbook.NewSheet("sheet1");
Чтение рабочей книги и рабочих листов:
// Чтение рабочей книги по пути
var workbook = var workbook = new WorkBook(@"F:\projects\Repos\Panda.SimpleExcel\Test\bin\Debug\test.xlsx");
// Чтение рабочего листа по индексу
var sheet1 = workbook.GetSheet(0);
// Чтение рабочего листа по имени
var sheet2 = workbook.GetSheet("Sheet2");
Прямое присвоение значения ячейке (ячейка получается с помощью
Sheet.Rows[rowIndex][columnIndex]
, а её содержимое получается или изменяется с помощью свойства Value):
sheet1.Rows[0][0].Value = "Hello";
Класс Sheet предоставляет функцию прямого преобразования данных из IEnumerable. По умолчанию он будет использовать все имена полей типа T в качестве заголовков столбцов и отображать все объекты в коллекции. Например, сначала создадим класс:
public class Person
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
}
Затем используем Sheet.ConvertFromQuery<T>
для добавления коллекции непосредственно на рабочий лист:
var list = new List<Person>();
for(int i = 0; i < 10; i++)
{
var person = new Person()
{
Name = "测试" + i,
Sex = i % 2 == 0 ? "男" : "女",
Age = i
};
list.Add(person);
}
// Добавляем объект List на рабочий лист, где первый параметр — это объект коллекции, а второй параметр — начальный номер строки, по умолчанию равен 0
sheet1.ConvertFromQuery(list, 1);
Точно так же можно напрямую использовать linq-выражение для добавления результатов запроса на рабочий лист:
// Преобразуем результат linq-запроса в данные рабочего листа
var p = from a in list where a.Sex == "男" select a;
sheet2.ConvertFromQuery(p);
Сохраняем рабочую книгу:
workbook.Save(@"D:\projects\test.xls");
Управление стилем: можно управлять стилем рабочего листа с помощью атрибутов. Атрибут Row используется для управления стилем строки, атрибут Column — для управления стилем столбца.
[Row(
EvenRowColor = ExcelColor.Aqua,
OddRowColor = ExcelColor.CornflowerBule,
HeaderBackColor = ExcelColor.Maroon,
HeaderFontColor = ExcelColor.White,
HeaderHeight = 20,
HeaderHorAlign = HorizontalAlign.Center,
HeaderVerAlign = VerticalAlign.Center)]
public class Person
{
[Column(
BackColor = ExcelColor.Brown,
FontColor = ExcelColor.White,
FontSize = 14,
FontFamily = "黑体",
HorAlign = HorizontalAlign.Center,
VerAlign = VerticalAlign.Center,
Name = "姓名")]
public string Name { get; set; }
[Column(
FontColor = ExcelColor.Red,
HorAlign = HorizontalAlign.Left,
VerAlign = VerticalAlign.Center,
Name = "性别")]
public string Sex { get; set; }
public int Age { get; set; }
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )