Jsp+poi+servlet导入excel到数据库表

音之美 2012-09-04 03:06:58
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表导入,现在我想在客户端上传,然后服务端自动将文件 数据导致数据库,在这里没思路了,望给我朋友指点一下.谢谢!
...全文
809 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanddyy_sse_ustc 2013-02-19
  • 打赏
  • 举报
回复
楼主可有这个实例,方便发一个给菜鸟来学习学习?邮箱:sanddyy@qq.com 谢谢。
音之美 2012-11-20
  • 打赏
  • 举报
回复
谢谢大家的意见,搞定了.
lynnlovemin 2012-11-18
  • 打赏
  • 举报
回复
用上传组件 像什么smartupload什么的 好像spring和struts也有提供上传组件的
by_name6 2012-11-17
  • 打赏
  • 举报
回复
你妹的在servlet里取路径能得到客户端的excel么
大龄牛码 2012-11-17
  • 打赏
  • 举报
回复
不能获取绝对路径的好 安全姓 以前ie6支持 现在firfox google ie8都不支持了
fulinkster 2012-09-04
  • 打赏
  • 举报
回复
LZ都自己想到了“在客户端上传,然后服务端自动将文件 数据导致数据库”
为什么不按这个做下呢?!
先把文件上传功能给搞定吧!
接下来自然而然就解决了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧