diff options
Diffstat (limited to 'src/main/java/info/selflearner/ocr/util/Excel.java')
-rw-r--r-- | src/main/java/info/selflearner/ocr/util/Excel.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/info/selflearner/ocr/util/Excel.java b/src/main/java/info/selflearner/ocr/util/Excel.java new file mode 100644 index 0000000..d924aaa --- /dev/null +++ b/src/main/java/info/selflearner/ocr/util/Excel.java @@ -0,0 +1,56 @@ +package info.selflearner.ocr.util; + +import info.selflearner.ocr.model.Passport; +import org.dhatim.fastexcel.Workbook; +import org.dhatim.fastexcel.Worksheet; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.Optional; + +public class Excel { + public static void write(List<Passport> passportList) throws IOException { + String filePath = System.getProperty("java.io.tmpdir") + "/Dokumentlar.xlsx"; + + try (OutputStream os = Files.newOutputStream(Paths.get(filePath)); Workbook wb = new Workbook(os, "OCR web", "1.0")) { + Worksheet worksheet = wb.newWorksheet("Dokumentlar"); + worksheet.width(0, 25); + worksheet.width(1, 15); + + worksheet.range(0, 0, 0, 12).style().bold().set(); + worksheet.value(0, 0, "1-inchi turi"); + worksheet.value(0, 1, "2-inchi turi"); + worksheet.value(0, 2, "Bergan davlat/firma"); + worksheet.value(0, 3, "Familiyasi"); + worksheet.value(0, 4, "Ismi(-lari)"); + worksheet.value(0, 5, "Pasport raqami"); + worksheet.value(0, 6, "Fuqaroligi"); + worksheet.value(0, 7, "Tug'ilgan sanasi"); + worksheet.value(0, 8, "Jinsi"); + worksheet.value(0, 9, "Amal qilish muddati"); + worksheet.value(0, 10, "JSHSHIR"); + worksheet.value(0, 11, "MRZ 1-inchi qatorining ishonchlilik darajasi"); + worksheet.value(0, 12, "MRZ 2-inchi qatorining ishonchlilik darajasi"); + + for (int i = 0; i < passportList.size(); i++) { + worksheet.value(i + 1, 0, String.valueOf(passportList.get(i).type)); + worksheet.value(i + 1, 1, String.valueOf(Optional.ofNullable(passportList.get(i).subtype).orElse(' '))); + worksheet.value(i + 1, 2, passportList.get(i).issuer); + worksheet.value(i + 1, 3, passportList.get(i).surname); + worksheet.value(i + 1, 4, passportList.get(i).givenNames); + worksheet.value(i + 1, 5, passportList.get(i).number); + worksheet.value(i + 1, 6, passportList.get(i).nationality); + worksheet.value(i + 1, 7, DateTimeFormatter.ofPattern("dd.MM.yyyy").format(passportList.get(i).dateOfBirth)); + worksheet.value(i + 1, 8, String.valueOf(passportList.get(i).sex)); + worksheet.value(i + 1, 9, DateTimeFormatter.ofPattern("dd.MM.yyyy").format(passportList.get(i).expirationDate)); + worksheet.value(i + 1, 10, passportList.get(i).personalNumber); + worksheet.value(i + 1, 11, passportList.get(i).mrzLinesConfidence[0] + "%"); + worksheet.value(i + 1, 12, passportList.get(i).mrzLinesConfidence[1] + "%"); + } + } + } +} |