jsp 中如何将 excel 导入 到数据库中
jsp 中如何将 excel 导入 到数据库中
------解决方案--------------------用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;
}
%>
------解决方案--------------------将 excel 导入 到数据库
一般是数据位置,格式都是固定的.所以,写一个sql模板,一条条读取Excel数据,然后写入数据库.
------解决方案--------------------请使用poi,你baidu一下,下载这个包,里有例字
------解决方案--------------------csdn 的高手们帮帮忙是
------解决方案--------------------POI
------解决方案--------------------网上搜一下有很多的
------解决方案--------------------jxl包可以对Excel文件做解析。
以下是我对工程中文件的例子:
package edu.jlu.excelAnalysis;
import jxl.Workbook;
import jxl.DateCell;
import jxl.Sheet;
import jxl.Cell;
import java.io.File;
/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2006-12-20
* Time: 19:41:57
* To change this template use File | Settings | File Templates.
*/
public class ExcelReader {
public static void main(String[] args){
Workbook workbook = null;
try {
workbook = Workbook.getWorkbook(new File( "D:\\WebProject\\AnalysisSystem\\techno-test\\jxl-test\\sample.xls "));
} catch (Exception e) {
System.out.println( "file to import not found! ");
}
Sheet sheet = workbook.getSheet(0);
Cell cell = null;
int columnCount=sheet.getColumns();
int rowCount=sheet.getRows();
for (int i = 0; i <rowCount; i++) { //行
for (int j = 0; j <columnCount; j++) { //列
//注意,这里的两个参数,第一个是表示列的,第二才表示行