Skip to content

Commit 9808163

Browse files
committed
simplify readme example
1 parent 69c3235 commit 9808163

File tree

1 file changed

+9
-32
lines changed

1 file changed

+9
-32
lines changed

README.md

+9-32
Original file line numberDiff line numberDiff line change
@@ -88,45 +88,22 @@ enum TableHeader implements TableHeaderColumn {
8888
ReportPageFactory reportPageFactory;
8989

9090
void parse() {
91-
// Получаем страницу с данными
92-
Object page = getFromExcel("1.xlsx");
93-
// ... или page = getFromXml("1.xml");
94-
// ... или page = getFromCsv("1.csv");
95-
96-
// Используем бин ReportPageFactory для построения абстракции
97-
ReportPage reportPage = reportPageFactory.create(page);
91+
// Получаем страницу с данными. Используем бин ReportPageFactory для построения абстракции
92+
ReportPage reportPage = reportPageFactory.create("1.xlsx");
93+
// ... или reportPageFactory.create("1.xml");
94+
// ... или reportPageFactory.create("1.csv");
9895

9996
// Метод найдет ячейку с текстом "Таблица 1",
100-
// воспринимает следующую за ней строку как заголовок таблицы,
101-
// из последующих строк (до пустой строки или конца файла) извлекаются данные
102-
Table table = reportPage.create("Таблица 1", TableHeader.class); // метод использует бин ExcelTableFactory для создания таблицы
97+
// воспринимает следующую за ней строку как заголовок таблицы (который описан через enum TableHeader).
98+
// Из последующих строк (до пустой строки или конца файла) извлекаются данные
99+
// (метод использует бин ExcelTableFactory для создания таблицы Table на основе ReportPage)
100+
Table table = reportPage.create("Таблица 1", TableHeader.class);
103101

104-
// Извлекаем и обрабатываем данные из строк таблицы
102+
// Итерируемся по строкам таблицы и извлекаем ячейки из строк по заголовку таблицы
105103
table.stream()
106104
.forEach(row -> {
107105
String product = row.getStringCellValue(TableHeader.PRODUCT);
108106
BigDecimal price = getBigDecimalCellValue(TableHeader.PRICE);
109107
});
110108
}
111109
```
112-
Пример реализации методов для чтения файлов форматов excel, xml, csv:
113-
```java
114-
Sheet getFromExcel(String fileName) {
115-
Path path = Paths.get(fileName);
116-
try (InputStream is = Files.newInputStream(path)) {
117-
Workbook book = new XSSFWorkbook(is); // открываем Excel файл
118-
Sheet sheet = book.getSheetAt(0); // используем 1-ый лист Excel файла для поиска таблицы
119-
}
120-
}
121-
122-
Workbook getFromXml(String fileName) {
123-
ExcelReader reader = new ExcelReader();
124-
return reader.getWorkbook(fileName); // открываем Excel таблицу из .xml файла
125-
}
126-
127-
String[][] getFromCsv(String fileName) {
128-
File file = new File(fileName);
129-
CsvParser parser = new CsvParser(new CsvParserSettings());
130-
return parser.parseAll(file).toArray(new String[0][]); // открываем таблицу из .csv файла
131-
}
132-
```

0 commit comments

Comments
 (0)