Java POI 导入Excel并解析
2015-04-16 11:42
253 查看
项目上碰到需要导入Excel表的数据,主要包括web端上传部分和spring后端代码。
1、Web页面代码
<input type="file" name="uploadfile" id="uploadfile" >,注意form里需增加encType="multipart/form-data"
2、spring后台接收
参数接收中增加@RequestParam("excelFile")MultipartFile excelFile
3、Excel文件解析
核心代码如下:
try{
InputStream inputStream = excelFile.getInputStream();
POIFSFileSystem fs = new POIFSFileSystem(inputStream);
HSSFWorkbook workbook = new HSSFWorkbook(fs);
//XSSFWorkbook workbook = new XSSFWorkbook(fs);
HSSFSheet sheet = workbook.getSheetAt(0);
int rowNum = sheet.getLastRowNum();// 行
int cellNum;
HSSFRow row;
HSSFCell cell;
String value = "";
for (int i = 1; i <= rowNum; i++) {
row = sheet.getRow(i);
cellNum = row.getLastCellNum();// 列
recStrb = new StringBuffer("");
for (int j = 0; j < cellNum; j++) {//对一行的每个列进行解析
cell = row.getCell((short) j);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(j == 0){
value = String.valueOf((int)cell.getNumericCellValue());//数字型的值
}else if(j == 1){
value = String.valueOf((int)cell.getNumericCellValue());
}else if(j == 2){//
value = cell.getStringCellValue();//字符型的值
}else{
}
if (StringUtils.isEmpty(value)) {
recStrb.append("null, ");
} else {
recStrb.append("'" + value + "', ");//对取得的值进行处理
}
}
//数据的自定义处置
if (i > 0) {
// log.debug(recStrb.toString());
recStrb.append("'"+super_parts_code+"', ");
String strTemp = recStrb.toString();
strTemp = strTemp.substring(0,strTemp.lastIndexOf(","));
dataList.add(strTemp);
}
}
1、Web页面代码
<input type="file" name="uploadfile" id="uploadfile" >,注意form里需增加encType="multipart/form-data"
2、spring后台接收
参数接收中增加@RequestParam("excelFile")MultipartFile excelFile
3、Excel文件解析
核心代码如下:
try{
InputStream inputStream = excelFile.getInputStream();
POIFSFileSystem fs = new POIFSFileSystem(inputStream);
HSSFWorkbook workbook = new HSSFWorkbook(fs);
//XSSFWorkbook workbook = new XSSFWorkbook(fs);
HSSFSheet sheet = workbook.getSheetAt(0);
int rowNum = sheet.getLastRowNum();// 行
int cellNum;
HSSFRow row;
HSSFCell cell;
String value = "";
for (int i = 1; i <= rowNum; i++) {
row = sheet.getRow(i);
cellNum = row.getLastCellNum();// 列
recStrb = new StringBuffer("");
for (int j = 0; j < cellNum; j++) {//对一行的每个列进行解析
cell = row.getCell((short) j);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(j == 0){
value = String.valueOf((int)cell.getNumericCellValue());//数字型的值
}else if(j == 1){
value = String.valueOf((int)cell.getNumericCellValue());
}else if(j == 2){//
value = cell.getStringCellValue();//字符型的值
}else{
}
if (StringUtils.isEmpty(value)) {
recStrb.append("null, ");
} else {
recStrb.append("'" + value + "', ");//对取得的值进行处理
}
}
//数据的自定义处置
if (i > 0) {
// log.debug(recStrb.toString());
recStrb.append("'"+super_parts_code+"', ");
String strTemp = recStrb.toString();
strTemp = strTemp.substring(0,strTemp.lastIndexOf(","));
dataList.add(strTemp);
}
}
相关文章推荐
- JAVA利用POI解析Excel图片,并按照标签号分类导入文件夹
- java 基于poi导入excel(可解析xlsx)
- Java POI 导入Excel以及解析Excel
- java的poi技术读取和导入Excel
- java的poi技术读取和导入Excel
- Java用poi解析Excel,支持xls/xlsx
- Java中使用poi导入、导出Excel
- POI和Java Excel Api导入导出----详细到你不敢相信
- java poi 导入导出Excel xsl xslx
- SpringMVC实现poi 解析excel 导入导出
- Java的poi技术读取和导入Excel
- java使用poi导入excel
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式
- SSH框架下导入excel,POI解析导入MySql
- Java数据导入(读)Excel文件 解析
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式
- java poi将excel文件导入
- Java 使用poi解析Excel文件(兼容2007)
- java中使用POI导入excel数据的过程中,遇到读取以科学计数法显示的数据
- JAVA实现数据库数据导入/导出到Excel(POI)