diff --git a/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java b/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java index bb60199f8bc60e7e03a4b872dc016388e9ef70d3..9698bedc8845ec0b098301823280fbf7608a707c 100644 --- a/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java +++ b/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java @@ -11,10 +11,11 @@ public enum AppointmentType { LEVEL_BG(new String[] { "evel BG","BG" }), // LEVEL_SB(new String[] { "evel SB", "SB" }), // + LEVEL_A_TQ(new String[] { "TQ" }), // LEVEL_A(new String[] { "level A" }), // - OTHER(new String[] {}), // LEVEL_B(new String[] { "evel B" }), // LEVEL_B_M_POWER(new String[] { "mPower" }), // + OTHER(new String[] {}), // ; private String[] queryStrings; diff --git a/appointment-import/src/main/java/smash/appointment/parse/XlsxCalendarProcessor.java b/appointment-import/src/main/java/smash/appointment/parse/XlsxCalendarProcessor.java index 8e447a9cf99d7a365814ab2b9169a048090a90c4..7dfe846da8989090855d2bdc58e1fb041f73121c 100644 --- a/appointment-import/src/main/java/smash/appointment/parse/XlsxCalendarProcessor.java +++ b/appointment-import/src/main/java/smash/appointment/parse/XlsxCalendarProcessor.java @@ -19,6 +19,7 @@ import org.apache.poi.EncryptedDocumentException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.FormulaEvaluator; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; @@ -58,6 +59,8 @@ public class XlsxCalendarProcessor { int calendarRowEndOffset = 18; private List<AppointmentEntry> processSheet(Sheet sheet, String string) { + FormulaEvaluator evaluator = sheet.getWorkbook().getCreationHelper().createFormulaEvaluator(); + List<AppointmentEntry> result = new ArrayList<AppointmentEntry>(); CellParser parser = new CellParser(); @@ -68,6 +71,7 @@ public class XlsxCalendarProcessor { for (int dayColumnOffset : dayColumns) { Cell dayCell = weekRow.getCell(dayColumnOffset); String dayOfMonth = "0"; + evaluator.evaluateInCell(dayCell); if (dayCell.getCellTypeEnum().equals(CellType.NUMERIC)) { dayOfMonth = ((int) dayCell.getNumericCellValue()) + ""; } else {