Excel文件上传服务器并解析存入数据库的整套过程(2003--2013都可试)


运行环境搭建:
    JDK1.6.0
    MyEclipse 6.5
    Linux服务器


所需jar包:用积分到我的资源下载


java代码: 

ReadExcel03Util.java


package com.rapoo.excelToDB;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;




import jxl.Workbook;




import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;




public class ReadExcel03Util{
HSSFWorkbook readbook;
HSSFSheet sheet;
String FormatDate;

Log log = LogFactory.getLog(this.getClass());

public  ReadExcel03Util(String uploadFilePath) throws IOException
{
FileInputStream fis=new FileInputStream(uploadFilePath);
POIFSFileSystem pfs=new POIFSFileSystem(fis);
readbook=new HSSFWorkbook(pfs);
sheet=readbook.getSheetAt(0);

}



public HSSFWorkbook getReadbook() {
return readbook;
}


public void setReadbook(HSSFWorkbook readbook) {
this.readbook = readbook;
}


public HSSFSheet getSheet() {
return sheet;
}


public void setSheet(HSSFSheet sheet) {
this.sheet = sheet;
}

public List<List<String>> ItermCell(HSSFSheet sheet){
List<List<String>> str1 = new ArrayList<List<String>>();    

lable:
  // 遍历行Row

 
  for(int rowNum=1;rowNum<=sheet.getLastRowNum();rowNum++){
  
  log.info("总共的行数:"+sheet.getLastRowNum());
  List<String> str2 = new ArrayList<String>();
           HSSFRow hssfRow=sheet.getRow(rowNum);
            if(hssfRow==null){
                break lable;
            }
            // 遍历列Cell
            for(int cellNum=0;cellNum<hssfRow.getLastCellNum();cellNum++){
             
            String hssfCell = getCellValue(rowNum,cellNum);
              
           
            log.info("hssfCell的值:======"+hssfCell);
                str2.add(hssfCell);
            }
            
            str1.add(str2);
  }
  return str1;
  
}


public  int getsheetLastRow(){

return sheet.getLastRowNum();

}

public  String getCellValue(int row, int col) {


String value="";
if(sheet==null)return "";
HSSFRow hrow=sheet.getRow(row);
if(hrow==null)return "";
HSSFCell cell=hrow.getCell((short) col);
if(cell==null)
return "";
int type=cell.getCellType();
switch(type)
{
case HSSFCell.CELL_TYPE_NUMERIC: 
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
value = sdf.format(date);
} else {
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(3);
String newD = formatter.format(
(Double) cell.getNumericCellValue()).toString()
.replace(",", "");
value = newD;
}
break;
case HSSFCell.CELL_TYPE_STRING: value=cell.getStringCellValue();break;
case HSSFCell.CELL_TYPE_FORMULA:value=cell.getStringCellValue();break;
case HSSFCell.CELL_TYPE_BOOLEAN:value=cell.getBooleanCellValue()+"";break;
case HSSFCell.CELL_TYPE_BLANK: value="";break;

default:value="";
}
return value.trim();
}
public int getRows()
{
if(sheet!=null)
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值