日期:2014-05-17  浏览次数:20817 次

Jsp+poi+servlet导入excel到数据库表
package zsl.csfn.excel;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

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.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import zsl.csfn.dao.InforMationDao;
import zsl.csfn.dao.impl.InforMationDaoImpl;
import zsl.csfn.entity.InforMation;

public class InfoExcel {


/**
 * 批量导入excel数据
 */
//记录类的输出信息
static Log log=LogFactory.getLog(InfoExcel.class);
//获取Excel文档的路径
public static String filePath="../../excel";


public void getExcel() throws Exception{
try{
//取得上传的文件

//创建对Excel工作薄文件的引用
HSSFWorkbook wookbook=new HSSFWorkbook(new FileInputStream(filePath));
//建立新的sheet对象
HSSFSheet sheet = wookbook.getSheet("sheet1");
// 获取Excel的所有行
int rows = sheet.getPhysicalNumberOfRows();
// 遍历行
for (int i = 0; i < rows; i++) {
// 读取左上角单元格
HSSFRow row = sheet.getRow(i);
// 行不能为空
if (row != null) {
// 获取Excel文件中的所以列
int cells = row.getPhysicalNumberOfCells();
String value = "";
// 遍历列
for (int j = 0; j < cells; j++) {
// 获取列的值
HSSFCell cell = row.getCell(j);
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
break;
case HSSFCell.CELL_TYPE_NUMERIC:
value += cell.getNumericCellValue();
break;
case HSSFCell.CELL_TYPE_STRING:
value += cell.getStringCellValue() + ",";
break;
default:
value += "0";
break;
}
}
}
//将数据插入到mysql中
String[] val=value.split(",");
InforMation infor=new InforMation();
infor.setInfoName(val[0]);
infor.setInfoAdd(val[1]);
infor.setInfoTel(val[2]);
infor.setInfoFax(val[3]);
infor.setInfoEmail(val[4]);
infor.setInfoIntro(val[5]);
InforMationDao inforMation=new InforMationDaoImpl();
inforMation.saveInforMation(infor);

}
}
}catch(FileNotFoundException e){
e.printStackTrace();
}

}
}
以上代码可以实现绝对路径的excel表导入,现在我想在客户端上传,然后服务端自动将文件 数据导致数据库,在这里没思路了,望给我朋友指点一下.谢谢!
------最佳解决方案--------------------
LZ都自己想到了“在客户端上传,然后服务端自动将文件 数据导致数据库”
为什么不按这个做下呢?!
先把文件上传功能给搞定吧!
接下来自然而然就解决了
------其他解决方案--------------------
你妹的在servlet里取路径能得到客户端的excel么
------其他解决方案--------------------
不能获取绝对路径的好 安全姓 以前ie6支持 现在firfox