获取Excel文件内容,0307通用

import java.io.InputStream;
import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFRow;
public class ReadExcel {
@SuppressWarnings("deprecation")
public static Object readExcel(InputStream is,Workbook workbook,Sheet sheet,int h,int l,String bb){
//行:h,列:l,判断标志:bb
Cell cell;
if(bb.equals("03")){
HSSFRow row=(HSSFRow) sheet.getRow(h);
cell=row.getCell(l);
}else{ 
XSSFRow row=(XSSFRow) sheet.getRow(h);
cell=row.getCell(l);
} 
if(cell==null||"".equals(cell)){
return null;
}else{
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
return (Date) cell.getDateCellValue();
case Cell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case Cell.CELL_TYPE_BOOLEAN:
return cell.getBooleanCellValue();
case Cell.CELL_TYPE_ERROR:
return Cell.CELL_TYPE_ERROR;
case Cell.CELL_TYPE_FORMULA:
String value=String.valueOf(cell.getNumericCellValue());
if(value.equals("NaN")){
return cell.getStringCellValue();
}else{
return value;
}
case Cell.CELL_TYPE_BLANK:
return null;
default:
return cell.getStringCellValue().toString();
}
}
}


import java.io.IOException;
import java.io.InputStream;
//调用方法(有些注解其实可以不要)
@SuppressWarnings("deprecation")
@RequestMapping(value = 
@RequestMapping(value = "insertExcel.do", method = RequestMethod.POST,produces="text/html;charset=utf-8")
@ResponseBody
@ResponseBody
public String insertExcelCQ(@RequestParam("fkxx")MultipartFile excel,……) throws UnsupportedEncodingException {
try {
…… 
InputStream is = excel.getInputStream();
//调用Service中的方法
riskmesService.insertExcel(is, ……);
……
return string;
} catch (Exception e) {
……
return string;
}
}


import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//Service中的方法
public void insertExcel(InputStream is,……){
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
Workbook workbook;
Sheet sheet;
String bb;
//根据版本分别定义参数
try {
try{
bb="07";
workbook=new XSSFWorkbook(is);
sheet=(XSSFSheet) workbook.getSheetAt(0);
}catch(Exception e){
bb="03";
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(0); 
}
//循环遍历所有行(行数和列数都是从0开始的)
for(int i=2;i<sheet.getPhysicalNumberOfRows();i++){
…… 
String str1=ReadExcel.readExcel(is, workbook, sheet, i, 1, bb);//获取i行1列的数据
String str2=ReadExcel.readExcel(is, workbook, sheet, i, 2, bb);//获取i行2列的数据
……
}
} 

忘记写要哪些包了……补一个



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值