首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

struts 用POI导入EXCEL到数据库,跪例子

2013-08-01 
struts 用POI导入EXCEL到数据库,跪求一个例子从JSP页面上传文件, java中获取文件,有多个sheet,循环得到每

struts 用POI导入EXCEL到数据库,跪求一个例子
从JSP页面上传文件, java中获取文件,有多个sheet,循环得到每个cell的数据  求大神给个例子,是struts的 Struts poi Java
[解决办法]

引用:
Quote: 引用:

简单写了一个,楼主不明白的问我。
jsp :


<s:form action="doUpload" method="POST" enctype="multipart/form-data">
<s:file name="upload" label="File"/>
<s:submit value = "Upload" />
</s:form>

就写了一些重点的东西
struts-fileupload.xml

<struts>
<package name="fileupload" extends="struts-default" namespace="/fileupload">
        
        <action name="doUpload" class="actions.fileupload.FileUploadAction" method="execute">
        
<result>upload-success.jsp</result>
</action>
    </package>
</struts>

FileUploadAction.java

public Workbook createWorkBook(InputStream is) throws IOException{    
       if(fileName.toLowerCase().endsWith("xls")){    
            return new HSSFWorkbook(is);    
       }else if(fileName.toLowerCase().endsWith("xlsx")){  
            return new XSSFWorkbook(is);  
       }else{  
            return null;  
       }  
    } 

public String execute() throws Exception{

Workbook book = createWorkBook(new FileInputStream(upload));  
        if(null !=book){
        if (book.getNumberOfSheets()> 0){


                        //写个循环,获取所有的,这边我就获取第一个sheet,为了简单
        Sheet aSheet = book.getSheetAt(0);
        int lastRows = aSheet.getLastRowNum();
        
        for(int j=1;j<lastRows;j++){
        Row aRow = aSheet.getRow(j);
        if(null!=aRow){
        if(null !=aRow.getCell(1)){
        //这边你就可以获取有用的值了
//比如用aRow.getCell(1).getStringCellValue(),可以把数据存到数据库中。
//要注意,对于不同的数值类型,方法不同,不然会报错,最好看看api


            
        }
        
        }
        
        
        }
        
        }
        }
        

return SUCCESS;
}






如果我想要在Action里面获取 path,name,File  应该怎么弄呢

恩,因为我们jsp中用的<s:file name="upload" .../>
所以我们可以直接用get,set获取文件信息,比如在action中
获取文件,可以这样获取

public File getUpload() {
return upload;
}

public void setUpload(File upload) {
this.upload = upload;
}

获取文件名称,可以这样

public String getUploadFileName() {
return fileName;
}

public void setUploadFileName(String fileName) {
this.fileName = fileName;
}

获取文件类型

public String getUploadContentType() {
return contentType;
}

public void setUploadContentType(String contentType) {
this.contentType = contentType;
}

楼主明白了吧?呵呵

热点排行