public class Test {
public void parseMap1() {
name.set("Быстрый импорт в Map, автоматическое отображение столбцов");
PoiResult<HashMap> parse = ExcelHelper.opsParse(HashMap.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 0)
// Автоматическое отображение столбцов, значения полей A, B, C, D
.opsColumn(true).done()
.parse();
if (parse.hasError()) {
// Вывод информации о непрохождении проверки
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
parse.getData().forEach(System.out::println);
}
}
public class Test {
public void parseMap2() {
name.set("Быстрый импорт в Map, автоматическое отображение столбцов, замена конкретных столбцов");
PoiResult<HashMap> parse = ExcelHelper.opsParse(HashMap.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 0)
.opsColumn(true)
.field(Col.H, "Значение H-столбца округлено до двух знаков после запятой").type(double.class).scale(2)
.done()
.parse();
if (parse.hasError()) {
// Вывод информации о непрохождении проверки
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
parse.getData().forEach(System.out::println);
}
}
```### Без автоматического отображения, извлечение конкретных столбцов```java
public class Test {
public void parseMap3() {
name.set("Быстрое преобразование в map, без автоматического отображения, извлечение указанных столбцов");
PoiResult<HashMap> parse = ExcelHelper.opsParse(HashMap.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 0)
.opsColumn()
// 1. Удаление пробелов с обоих сторон, 2. Недопустимо пустое значение, 3. Значение по умолчанию, 4. Валидация регулярным выражением
.field(Col.A, "name").trim().notNull().defaultValue("张三").regex("中青旅\\d{1}")
// Сохранение двух знаков после запятой
.field(Col.H, "score").scale(2)
// Изображение
.field(Col.J, "img").type(byte[].class)
.done()
.parse();
if (parse.hasError()) {
// Вывод информации о непрошедших проверку значениях
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
parse.getData().forEach(System.out::println);
}
}
```# Импорт объекта### Автоматическое отображение
```java
@Test
public class Test {
public void parseBean1() {
name.set("Автоматическая отображаемая колонка");
PoiResult<ProjectEvaluate> parse = ExcelHelper.opsParse(ProjectEvaluate.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 1)
.opsColumn(true).done()
.parse();
if (parse.hasError()) {
// Вывод информации о непрошедших проверку данных
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
System.out.println("Количество строк данных: " + parse.getData().size());
parse.getData().forEach(System.out::println);
}
}
public class Test {
@Test
public void parseBean2() {
name.set("Автоматическая отображаемая колонка, замена указанной колонки");
PoiResult<ProjectEvaluate> parse = ExcelHelper.opsParse(ProjectEvaluate.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 1)
.opsColumn(true)
.field(Col.H, ProjectEvaluate::getScore).type(double.class).scale(2)
.done()
.parse();
if (parse.hasError()) {
// Вывод информации о непрошедших проверку данных
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
parse.getData().forEach(System.out::println);
}
}
```### Отключение автоматического отображения, извлечение указанных колонок```java
public class Test {
@Test
public void parseBean3() {
name.set("Не автоматическое отображение, извлечение указанных столбцов");
PoiResult<ProjectEvaluate> parse = ExcelHelper.opsParse(ProjectEvaluate.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 0)
.opsColumn()
.field(Col.A, ProjectEvaluate::getProjectName).map((val) -> {
// Пользовательская проверка, выбрасывание исключения
if (val == null) {
throw PoiException.error("Название проекта не может быть пустым!");
}
return val;
})
.field(Col.H, ProjectEvaluate::getScore)
.done()
.parse();
if (parse.hasError()) {
// Вывод информации о неудовлетворении условий
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
parse.getData().forEach(System.out::println);
}
}
```### Извлечение указанных столбцов, проверка и преобразование```java
public class Test {
@Test
public void parseBean4() {
name.set("Извлечение указанных столбцов, проверка и преобразование");
Map<String, Integer> cityMapping = new HashMap<>();
cityMapping.put("Сиань", 1);
cityMapping.put("Пекин", 2);
PoiResult<ProjectEvaluate> parse = ExcelHelper.opsParse(ProjectEvaluate.class)
.from("src/test/java/excel/parse/excel/simpleExport.xlsx")
// Указание области данных
.opsSheet(0, 1, 1)
.opsColumn()
.field(Col.A, "projectName").trim().notNull().defaultValue("Zhang San").regex("China Youth Travel Agency \\d{1}")
.field(Col.D, ProjectEvaluate::getProvince)
// Преобразование значений с использованием отображения
.field(Col.E, "cityKey").notNull().map(cityMapping::get)
.done()
.parse();
if (parse.hasError()) {
// Вывод информации о непрошедших проверку записях
System.out.println(parse.getErrorInfoString());
}
// Вывод распарсенных данных
parse.getData().forEach(System.out::println);
}
}
Ошибка выводится следующим образом:
[A2]: Неверный формат
[A3]: Неверный формат
[A4]: Неверный формат
[A5]: Неверный формат
public class Test { @Test public void parseBean5() { name.set("Обработка больших данных в несколько этапов"); ExcelHelper.opsParse(ProjectEvaluate.class) .from("src/test/java/excel/parse/excel/simpleExport.xlsx") // Указание области данных .opsSheet(0, 1, 1) .opsColumn(true).done() // Обрабатывать по два элемента за один раз .parsePart(2, (result) -> { if (result.hasError()) { // Вывод информации о непрошедших проверку записях System.out.println(result.getErrorInfoString()); } }); } }
System.out.println("Количество строк данных: " + result.getData().size());
result.getData().forEach(System.out::println);
});
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )