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

OSCHINA-MIRROR/sanri-sanri-excel-poi

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

sanri-excel-poi: инструмент для импорта и экспорта данных в Excel

sanri-excel-poi — это открытый инструмент для корпоративного использования, предназначенный для решения проблем с импортом и экспортом данных из Excel. Инструмент был впервые выпущен в 2017 году и прошёл двухлетний период тестирования в онлайн-среде.

Инструмент помогает решать проблемы с экспортом данных, такие как медленная скорость экспорта, пустые строки, пробелы, точность числовых данных, преобразование дат и проблемы с формулами Excel.

Адрес блога: https://blog.csdn.net/sanri/article/details/100601578

JavaDoc: https://apidoc.gitee.com/sanri/sanri-excel-poi


Преимущества

  1. Поддержка формул Excel.
  2. Решение проблемы пустых строк при импорте.
  3. Удаление пробелов перед и после импортируемых данных.
  4. Возможность экспорта данных из классов, наследуемых от других классов.
  5. Идеальная поддержка форматов даты при импорте и экспорте.
  6. Обработка точности числовых данных (с плавающей точкой).
  7. Идеальное решение проблемы ширины столбцов при экспорте на китайском языке.
  8. Возможность настройки порядка столбцов.
  9. Добавление преобразователей столбцов.

Быстрый старт

  • Добавление зависимости Maven:
<dependency>
    <groupId>com.sanri.excel</groupId>
    <artifactId>sanri-excel-poi</artifactId>
    <version>1.0-RELEASE</version>
</dependency>

В настоящее время необходимо самостоятельно загрузить исходный код или использовать уже собранный пакет release: https://github.com/sanri1993/sanri-excel-poi/releases/tag/v1.0-RELEASE

  • Также необходимо добавить сторонние зависимости, если они уже есть в проекте (обычно они есть):
<!-- Excel poi  -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.10-FINAL</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.10-FINAL</version>
</dependency>

<!--apache commons -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.8.1</version>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.2</version>
</dependency>

<!-- slf4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.21</version>
</dependency>
  • Пример простого экспорта:
// Определение класса для экспорта
@ExcelExport
@Data
public class Simple {
    @ExcelColumn(value = "姓名",order = 0)
    private String name;
}

// Получение данных
List<Simple> datas = new ArrayList();
datas.add(new Simple());

// Экспорт Excel
ExcelExportWriter excelExportWriter = new ExcelExportWriter(Simple.class);
excelExportWriter.export(simpleList);       // Эта операция только генерирует данные Workbook, пользователь должен решить, куда их выводить
// Запись в файл потока
excelExportWriter.writeTo(new FileOutputStream("d:/test/"+System.currentTimeMillis()+".xlsx"));
// Или запись в поток ответа
excelExportWriter.writeTo(response.getOutputStream());

Обратите внимание, что атрибут order не вызывает проблем при экспорте, но при использовании импорта индексы должны начинаться с 0.

  • Простой пример импорта:
// Определение класса для импорта
@ExcelImport(startRow = 1)
@Data
public class Simple {
    @ExcelColumn(value = "姓名",order = 0)
    private String name;
}

// Чтение входного потока
InputStream fileInputStream = new FileInputStream("simple.xlsx");
// Создание обработчика ошибок, можно использовать обработчик по умолчанию
ErrorRowHandler collectErrorRowHandler = new CollectErrorRowHandler();
 // Импорт данных
List<Simple> simples = ExcelImportUtil.importData(fileInputStream, Simple.class,collectErrorRowHandler);

Настройка импорта и экспорта

Аннотация @ExcelExport и связанные параметры конфигурации

// Версия Excel для экспорта, возможные значения ExcelVersion.EXCEL2007,ExcelVersion.EXCEL2003
ExcelVersion version() default ExcelVersion.EXCEL2007;

// Установить высоту строки заголовка, когда установлен заголовок
short titleRowHeight() default 40;

// Высота строки заголовков, то есть высота строки описания столбца
short headRowHeight() default 30;

// Высота каждой строки данных
short bodyRowHeight() default 25;

// Автоматическое определение ширины, Excel автоматически определяет ширину для китайского языка
boolean autoWidth() default true;

// Максимальное количество данных на листе, установите -1 для неограниченного количества, максимум 60 000 строк для версии 2003 года
int sheetMaxRow() default -1;

// Режим быстрого экспорта, используйте новый SXSSFWorkbook(rowAccessWindowSize) объект книги
boolean fastModel() default true;

// Параметр настройки режима быстрого экспорта, обычно достаточно значения по умолчанию
int rowAccessWindowSize() default 1000;

Аннотация @ExcelImport и связанные параметры конфигурации

// Начальная строка данных, обычно устанавливается в 1, начиная с 0
int startRow();

// Поддерживаемые версии для импорта, по умолчанию поддерживаются обе
ExcelVersion[] support() default {ExcelVersion.EXCEL2003,ExcelVersion.EXCEL2007};

Параметры конфигурации аннотации @ExcelColumn

// Значение для экспорта китайских заголовков столбцов, не используется для импорта
String value();
// Порядок импорта, по умолчанию начинается с 0, не используется для экспорта
int order() default -1;


// Ширина столбца в единицах Excel
int width() default -1;
// Используйте количество символов для определения ширины, один китайский символ считается одним символом
int charWidth() default -1;
// Использовать пиксели для определения ширины
int pxWidth() default -1;
// Отметьте текущий столбец как китайский столбец при использовании автоматической ширины
boolean chineseWidth() default false;

// Скрывать ли текущий столбец при экспорте
boolean hidden() default false;
// Удалить ли пробелы перед и после текущего столбца при импорте
boolean trim() default true; ### Тип ячейки при экспорте, доступные значения: CELL_TYPE_NUMERIC, CELL_TYPE_STRING, CELL_TYPE_BLANK, CELL_TYPE_BOOLEAN

`CellType cellType() default CellType.CELL_TYPE_STRING;`

// Формат даты при импорте и экспорте

`String pattern() default "yyyy-MM-dd";`

// Настройка точности чисел при импорте и экспорте; применяется к десятичным числам

`int precision() default -1;`

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

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

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