1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/panda_rrr-Panda.SimpleExcelCore

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Panda.SimpleExcelCore

netcore версия SimpeExcel. Библиотека для удобной работы с Excel, включая чтение, создание, изменение и т. д. Поддерживает прямое преобразование DataSet, IEnumerable и linq-выражений в рабочие листы Excel. Также поддерживает управление стилем рабочего листа через атрибуты.

Hello World

var workbook = new WorkBook();
var sheet = workbook.NewSheet("Hello");
sheet.Rows[0][0].Value = "Hello World";
workbook.Save(@"F:\test.xls");

Использование


  1. Найдите Panda.SimpleExcel через nuget и установите.
  2. Импортируйте пространство имён 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 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе npoi.core — библиотека классов для быстрой работы с файлами Excel. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/panda_rrr-Panda.SimpleExcelCore.git
git@api.gitlife.ru:oschina-mirror/panda_rrr-Panda.SimpleExcelCore.git
oschina-mirror
panda_rrr-Panda.SimpleExcelCore
panda_rrr-Panda.SimpleExcelCore
master