From: satomichan Date: Sun, 27 Dec 2020 08:11:59 +0000 (+0900) Subject: 2020-12-27_8tei_release_2 X-Git-Tag: JAR_2020-12-27_1930_BUILD~4 X-Git-Url: https://satomichan.jp/gitweb/?a=commitdiff_plain;h=04993073fa0137a2d7c6db85c87a2c44875c168f;p=nucalgen 2020-12-27_8tei_release_2 --- diff --git a/src/main/java/jp/satomichan/nucalgen/MoeStdFoodCompTable.java b/src/main/java/jp/satomichan/nucalgen/MoeStdFoodCompTable.java deleted file mode 100644 index 1a39f2d..0000000 --- a/src/main/java/jp/satomichan/nucalgen/MoeStdFoodCompTable.java +++ /dev/null @@ -1,126 +0,0 @@ -package jp.satomichan.nucalgen; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; - -public class MoeStdFoodCompTable { - private String brightColoredVegetablesXmlFileName = ""; - private List brightColoredVegetableList = new ArrayList(); - - MoeStdFoodCompTable(String brightColoredVegetablesXmlFileName_){ - this.brightColoredVegetablesXmlFileName = brightColoredVegetablesXmlFileName_; - - try { - XMLConfiguration config = new XMLConfiguration(this.brightColoredVegetablesXmlFileName); - List vegetableNames = config.getList("bright-colored-vegetable.name"); - for(Object vegeObj : vegetableNames) { - this.brightColoredVegetableList.add(vegeObj.toString()); - } - - } catch (ConfigurationException e) { - e.printStackTrace(); - } - } - - - - //変換 - void processInto(Workbook outputWorkbook) { - Sheet foodComposithonSheet = outputWorkbook.cloneSheet(0); - outputWorkbook.setSheetName(18, "成分表"); - outputWorkbook.setSheetOrder("成分表", 0); - //Sheet foodComposithonSheet = outputWorkbook.createSheet("成分表"); - - //「成分識別子」行 - Row idRow = foodComposithonSheet.getRow(10); - for(int i = 4; i <= 61; i++) { - Cell idCell = idRow.getCell(i); - idCell.setCellValue(idCell.toString().replaceAll(" ", "")); - } - idRow.createCell(62).setCellValue("GROUP"); - idRow.createCell(63).setCellValue("BRIGHT_COLORED_VEGETABLE"); - - int compSheetRowIndex = 11; - - //18 の食品群ごとの処理 - for(int group = 1; group <= 18; group++) { - Sheet thisSheet = outputWorkbook.getSheetAt(group); - - int rowCount = 0; - for (Row thisRow : thisSheet) { - rowCount++; - if(rowCount < 12) {continue;} - - Row compRow = foodComposithonSheet.createRow(compSheetRowIndex); - - for (int cellCount = 1; cellCount <= 61; cellCount++) { - Cell thisCell = thisRow.getCell(cellCount); - - String cellString = thisCell.toString(); - - cellString = cellString.replaceAll("\\(", ""); - cellString = cellString.replaceAll("\\)", ""); - cellString = cellString.replaceAll("-", "0"); - cellString = cellString.replaceAll("Tr", "0"); - - //セル値・書式 コピー - //Cell compCell = foodComposithonSheet.getRow(compSheetRowIndex).getCell(cellCount); - Cell compCell = compRow.createCell(cellCount); - compCell.setCellValue(cellString); - compCell.setCellStyle(thisCell.getCellStyle()); - compCell.setCellType(thisCell.getCellTypeEnum()); - - if(cellString.matches("^[\\d\\.]+$")) { - compCell.setCellValue(Double.parseDouble(cellString)); - CellStyle aCellStyle = compCell.getCellStyle(); - aCellStyle.setDataFormat((short) 0); - compCell.setCellStyle(aCellStyle); - } - - - } //CELL - - //食品群(1~18)書き込み - compRow.createCell(62).setCellValue(group); - - - //緑黄色野菜か? - if(brightColoredVegetablesXmlFileName.length() > 0) { - boolean isBrightColored = false; - String foodName = thisRow.getCell(3).getStringCellValue(); - for(String aBright : this.brightColoredVegetableList) { - if(foodName.matches(aBright + ".*")) { - isBrightColored = true; - break; - } - } - - if(isBrightColored) { - compRow.createCell(63).setCellValue(1); - } - } - - - compSheetRowIndex++; - - } //ROW - - } //GROUP - - //元の表 削除 - for(int i = 18; i > 0; i--) { - outputWorkbook.removeSheetAt(i); - } - } - - - -} diff --git a/src/main/java/jp/satomichan/nucalgen/Nucalgen.java b/src/main/java/jp/satomichan/nucalgen/Nucalgen.java index b0295c4..9f90056 100644 --- a/src/main/java/jp/satomichan/nucalgen/Nucalgen.java +++ b/src/main/java/jp/satomichan/nucalgen/Nucalgen.java @@ -55,7 +55,7 @@ public class Nucalgen { if(cmd.hasOption("use-processed-table") == false) { //成分表 変換 - MoeStdFoodCompTable moe = new MoeStdFoodCompTable(cmd.getOptionValue("bright-colored-vegetables-list")); + MextStdFoodCompTable moe = new MextStdFoodCompTable(cmd.getOptionValue("bright-colored-vegetables-list")); moe.processInto(outputWorkbook); } @@ -115,7 +115,7 @@ public class Nucalgen { } - //摂取量 名前付き範囲 + //摂取量 名前付き範囲 String intakeArea = new CellReference(calcSheet.getSheetName(), 3, 3, true, true).formatAsString() + ":" + new CellReference(calcSheet.getSheetName(), rowIndex -1, 3, true, true).formatAsString(); XSSFName intakeNamedRangeArea = (XSSFName) outputWorkbook.createName(); intakeNamedRangeArea.setNameName("AREA_INTAKE");