读取excel文件内容代码
最近工作需要批量添加映射excel文件字段的代码 于是通过读取excel2007实现了批量生成代码,记录下代码
需要引入poi的jar包
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-父母-建行-北京-申请成功"