编程准备:commons-fileupload.jar

                     commons-io.jar

                     poi.jar(解读Excel表格用)导入以上Jar包

JSP端:

 

 
  
  1. <form name="readExcel" action="readExcel.action" method="post" enctype="multipart/form-data">   
  2.         Excel文件Path:&nbsp;<input type="file" name="uploadFile"><br> 
  3.         <input type="submit" value="导入"> 
  4.     </form> 

Action端:

 

 
  
  1. package com.blog.action.excel;  
  2.  
  3. import java.io.File;  
  4. import java.io.FileInputStream;  
  5. import java.io.FileNotFoundException;  
  6.  
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  8. import org.apache.poi.ss.usermodel.Cell;  
  9. import org.apache.poi.ss.usermodel.Row;  
  10. import org.apache.poi.ss.usermodel.Sheet;  
  11. import org.apache.poi.ss.usermodel.Workbook;  
  12.  
  13. import com.blog.dto.ArticleTypeBean;  
  14. import com.blog.service.excel.ReadExcelService;  
  15. import com.blog.service.excel.impl.ReadExcelServiceImpl;  
  16. import com.opensymphony.xwork2.ActionSupport;  
  17.  
  18. public class ReadExcelAction extends ActionSupport {  
  19.       
  20.     private File uploadFile;  
  21.       
  22.     private String uploadFileFileName;  
  23.       
  24.     private ReadExcelService readExcelService = new ReadExcelServiceImpl();  
  25.  
  26.     /**  
  27.      *   
  28.      */ 
  29.     private static final long serialVersionUID = 1L;  
  30.       
  31.       
  32.     public File getUploadFile() {  
  33.         return uploadFile;  
  34.     }  
  35.  
  36.  
  37.     public void setUploadFile(File uploadFile) {  
  38.         this.uploadFile = uploadFile;  
  39.     }  
  40.  
  41.  
  42.     public String getUploadFileFileName() {  
  43.         return uploadFileFileName;  
  44.     }  
  45.  
  46.  
  47.     public void setUploadFileFileName(String uploadFileFileName) {  
  48.         this.uploadFileFileName = uploadFileFileName;  
  49.     }  
  50.  
  51.  
  52.     public ReadExcelService getReadExcelService() {  
  53.         return readExcelService;  
  54.     }  
  55.  
  56.  
  57.     public void setReadExcelService(ReadExcelService readExcelService) {  
  58.         this.readExcelService = readExcelService;  
  59.     }  
  60.       
  61.     /**  
  62.      * 把Excele表读出的数据,组装成一个List,统一导入数据库  
  63.      * @return  
  64.      */ 
  65.     public String importExcelData(){  
  66.           
  67.         try {  
  68.             FileInputStream fs = new FileInputStream(uploadFile);  
  69.               
  70.             Workbook workbook = new HSSFWorkbook(fs);  
  71.               
  72.             //讀取Excel Sheet頁  
  73.             Sheet sheet = workbook.getSheetAt(0);  
  74.             int rowNum = sheet.getLastRowNum() + 1;//行數  
  75.             //讀取每一行  
  76.             for(int i = 0 ; i < rowNum ; i++){  
  77.                 ArticleTypeBean articleTypeBean = new ArticleTypeBean();  
  78.                   
  79.                 Row row = sheet.getRow(i);//當前行  
  80.                 //列數  
  81.                 int cellNum = row.getLastCellNum() ;  
  82.                 for(int j = 0 ; j < cellNum ; j++){  
  83.                     Cell cell = row.getCell(j);  
  84.                     if(j == 0 )  
  85.                         articleTypeBean.setArticleTypeName(cell.getStringCellValue());  
  86.                     if(j == 1)  
  87.                         articleTypeBean.setArticleOrder(Integer.valueOf(((int)cell.getNumericCellValue() )));  
  88.                 }  
  89.                   
  90.                 this.readExcelService.importData(articleTypeBean);  
  91.                   
  92.             }  
  93.         } catch (FileNotFoundException e) {  
  94.             // TODO Auto-generated catch block  
  95.             e.printStackTrace();  
  96.         } catch (Exception exception){  
  97.             exception.printStackTrace();  
  98.         }  
  99.           
  100.           
  101.         return SUCCESS;  
  102.     }  
  103.  
  104. }