目标:excel.cvs格式的文件导入到数据库
求实现的具体方法,最好有个事例。小弟是新手不知道怎么做,大家帮帮忙!
万分感激,
qq:3225911
msn:1liutao12@163.com
------解决方案--------------------
我有过excel---> mysql的经验
用php的语言!呵呵
------解决方案--------------------
其实把EXCEL文件另存为选文件类型是CSV文件,
其实这个CSV文件就是EXCEL文件每个row的内容以回车结束(这可以PHP来判断),而每个ROW中的column的内容以“,”格开(PHP也可以判断)的,之后用PHP处理就简单多了
------解决方案--------------------
上传文件用smartupdate 分析excel用POI或者jxl 这两个例子网上很多baidu一下一堆一堆,可参考
------解决方案--------------------
我的操作环境
myeclipse tomcat eclipse
如果困难是否能从excel.cvs文件把里面的内容 读取到我写的特定的jsp网页上?
大家给个参考。看看这个想法是否可行
------解决方案--------------------
最简单的就是用工具,看你是什么数据库,有的工具支持CSV导入的。或者写个小程序将csv文件按逗号split后输出成sql执行
------解决方案--------------------
用jxl读取然后做操作
jxl读取例子:
<%@ page import= "jxl.* "%>
<%String filePath=nvl(request.getParameter( "path "),request.getRealPath( "/ ")+ "\\test1.xls ");//excel文件
out.println(filePath);
//out.println(subjectId+ " <br/> ");
int startRow=Integer.parseInt(nvl(request.getParameter( "startRow "), "0 "));//指定开始行
int endRow=Integer.parseInt(nvl(request.getParameter( "endRow "), "-1 "));//结束行
int startCol=Integer.parseInt(nvl(request.getParameter( "startCol "), "0 "));//指定开始列
int endCol=Integer.parseInt(nvl(request.getParameter( "endCol "), "-1 "));//结束列
int sheetNum=Integer.parseInt(nvl(request.getParameter( "sheetNum "), "0 "));//指定工作薄
File sourcefile=new File(filePath);
InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(sheetNum);//页
int col = rs.getColumns();//列
int row = rs.getRows();//行
out.println( "row= "+row);
for(int i=startRow;i <row;i++){
if(i==endRow)break;
if(rs.getCell(0,i).getContents().equals( " "))break;
for(int j=startCol;j <col;j++){
Cell cell = rs.getCell(j, i);
String strC=cell.getContents();
out.print(strC+ "| ");
if(j==endCol)break;
}
out.println( " <br/> ");
}
is.close();
}catch(Exception e1){
out.println( "error: "+e1);
}
%>
<%!
private String nvl(Object str,String val){
if(str==null)
return val;
return (String)str;
}
%>
------解决方案--------------------
我也是新手,之前也提这个问题向大家请教了!!