您的位置:首页 > 编程语言

读取excel文件内容代码

2016-06-03 19:04 429 查看
最近工作需要批量添加映射excel文件字段的代码于是通过读取excel2007实现了批量生成代码,记录下代码

需要引入poi的jar包

importjava.awt.List;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.util.ArrayList;

importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.xssf.usermodel.XSSFCell;
importorg.apache.poi.xssf.usermodel.XSSFRow;
importorg.apache.poi.xssf.usermodel.XSSFSheet;
importorg.apache.poi.xssf.usermodel.XSSFWorkbook;

publicclassAutoMakeMap{

publicstaticvoidreadFromXLSX2007(StringfilePath){
FileexcelFile=null;//Excel文件对象
InputStreamis=null;//输入流对象
StringcellStr=null;//单元格,最终按字符串处理
try{
excelFile=newFile(filePath);
is=newFileInputStream(excelFile);//获取文件输入流
XSSFWorkbookworkbook2007=newXSSFWorkbook(is);//创建Excel2007文件对象
XSSFSheetsheet=workbook2007.getSheetAt(0);//取出第一个工作表,索引是0
//开始循环遍历行,表头不处理,从1开始
for(inti=1;i<=sheet.getLastRowNum();i++){
//for(inti=0;i<=490;i++){
XSSFRowrow=sheet.getRow(i);//获取行对象
if(row==null){//如果为空,不处理
continue;
}
//循环遍历单元格
for(intj=0;j<row.getLastCellNum();j++){
//for(intj=0;j<2;j++){
XSSFCellcell=row.getCell(j);//获取单元格对象
if(cell==null){//单元格为空设置cellStr为空串
cellStr="";
}elseif(cell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){//对布尔值的处理
cellStr=String.valueOf(cell.getBooleanCellValue());
}elseif(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){//对数字值的处理
cellStr=cell.getNumericCellValue()+"";
}else{//其余按照字符串处理
cellStr=cell.getStringCellValue();
}
//下面按照数据出现位置封装到bean中
if(j==0){
System.out.print("commandMap[\""+cellStr+"\"]=\"");
}elseif(j==1){
System.out.println(cellStr+"\"");
}
}
}
}catch(IOExceptione){
e.printStackTrace();
}finally{//关闭文件流
if(is!=null){
try{
is.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
publicstaticvoidmain(String[]args){
AutoMakeMapamm=newAutoMakeMap();
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-父母-建行-北京-申请成功"


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: