最近工做須要批量添加映射excel文件字段的代碼 因而經過讀取excel2007實現了批量生成代碼,記錄下代碼java
須要引入poi的jar包apache
import java.awt.List; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class AutoMakeMap { public static void readFromXLSX2007(String filePath) { File excelFile = null;// Excel文件對象 InputStream is = null;// 輸入流對象 String cellStr = null;// 單元格,最終按字符串處理 try { excelFile = new File(filePath); is = new FileInputStream(excelFile);// 獲取文件輸入流 XSSFWorkbook workbook2007 = new XSSFWorkbook(is);// 建立Excel2007文件對象 XSSFSheet sheet = workbook2007.getSheetAt(0);// 取出第一個工做表,索引是0 // 開始循環遍歷行,表頭不處理,從1開始 for (int i = 1; i <= sheet.getLastRowNum(); i++) { // for (int i = 0; i <= 490; i++) { XSSFRow row = sheet.getRow(i);// 獲取行對象 if (row == null) {// 若是爲空,不處理 continue; } // 循環遍歷單元格 for (int j = 0; j < row.getLastCellNum(); j++) { // for (int j = 0; j < 2; j++) { XSSFCell cell = row.getCell(j);// 獲取單元格對象 if (cell == null) {// 單元格爲空設置cellStr爲空串 cellStr = ""; } else if (cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {// 對布爾值的處理 cellStr = String.valueOf(cell.getBooleanCellValue()); } else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {// 對數字值的處理 cellStr = cell.getNumericCellValue() + ""; } else {// 其他按照字符串處理 cellStr = cell.getStringCellValue(); } // 下面按照數據出現位置封裝到bean中 if (j == 0) { System.out.print("commandMap[\"" + cellStr + "\"] = \""); } else if (j == 1) { System.out.println(cellStr + "\""); } } } } catch (IOException e) { e.printStackTrace(); } finally {// 關閉文件流 if (is != null) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static void main(String[] args){ AutoMakeMap amm = new AutoMakeMap(); amm.readFromXLSX2007("D://aaa.xlsx"); } }
運行結果:
commandMap["command_01"] = "del-確認信息-在校學生-博士-4000如下-父母-建行-北京-申請成功"
commandMap["command_02"] = "del-確認信息-在校學生-碩士-4000如下-父母-建行-北京-申請成功"
commandMap["command_03"] = "del-確認信息-在校學生-本科-4000如下-父母-建行-北京-申請成功"
commandMap["command_04"] = "del-確認信息-在校學生-專科-4000如下-父母-建行-北京-申請成功"
commandMap["command_05"] = "del-確認信息-在校學生-高中如下-4000如下-父母-建行-北京-申請成功"
commandMap["command_06"] = "del-確認信息-在校學生-博士-4000-6000-父母-建行-北京-申請成功"
commandMap["command_07"] = "del-確認信息-在校學生-博士-6000~8000-父母-建行-北京-申請成功"xss