第一、 utils 工具类,读取Excel 、Txt文件 的方法! 如下:

 

 
  1. public class Excel {  
  2.       
  3.     /**  
  4.      * 读取Excel文件  
  5.      * @param file  
  6.      * @return  
  7.      */ 
  8.     public static List<String[]> readExcel(File file){  
  9.         List<String[]> excelValueList = new ArrayList<String[]>();  
  10.         if (file.exists() && file.canRead() && (file.getName().lastIndexOf(".xls")) < 0) {  
  11.             Workbook workbook = null;//工作薄对象  
  12.             try {  
  13.                 workbook = Workbook.getWorkbook(file);  
  14.                 int n = workbook.getNumberOfSheets();  
  15.                 //循环 行 和 列  
  16.                 for (int i = 0; i < n; i++) {  
  17.                     Sheet sheet = workbook.getSheet(i);  
  18.                     int row = sheet.getRows();//总行数  
  19.                     int col = sheet.getColumns();//总列数  
  20.                     for (int r = 0; r < row; r++) {  
  21.                         String[] rowValue = new String[col];  
  22.                         for (int c = 0; c < col; c++) {  
  23.                             rowValue[c] = sheet.getCell(c,r).getContents() != null ? sheet.getCell(c,r).getContents():"";  
  24.                         }  
  25.                         excelValueList.add(rowValue);  
  26.                     }  
  27.                 }  
  28.             } catch (BiffException e) {  
  29.                 // TODO Auto-generated catch block  
  30.                 e.printStackTrace();  
  31.             } catch (IOException e) {  
  32.                 // TODO Auto-generated catch block  
  33.                 e.printStackTrace();  
  34.             }finally {  
  35.                 if (workbook != null) {  
  36.                     workbook.close();  
  37.                 }  
  38.             }  
  39.         }  
  40.         return excelValueList;  
  41.     }  
  42.  

 

 

 

 
  1. public class Txt {  
  2.       
  3.       
  4.     /**  
  5.      * 读取 Txt 文件  
  6.      * @param file  
  7.      * @return  
  8.      */ 
  9.     public static List<String> readTxt(File file) throws Exception {  
  10.         List<String> txtValueList = new ArrayList<String>();  
  11.         String encoding = "UTF-8";  
  12.         if(file.exists() && file.canRead() && (file.getName().lastIndexOf(".txt") < 0)) {  
  13.                 InputStreamReader read = new InputStreamReader(new FileInputStream(file),encoding);  
  14.                 BufferedReader buffer = new BufferedReader(read);  
  15.                 String lineTxt = null;  
  16.                 while ((lineTxt = buffer.readLine()) != null ) {  
  17.                     txtValueList.add(lineTxt);  
  18.                 }  
  19.                 if (read != null) {  
  20.                     read.close();  
  21.                 }  
  22.         }  
  23.         return txtValueList;  
  24.     }  
  25.       
  26.       
  27.       

 

第二,action 调用 。操作 ! 如图:

 

 

 
  1.         private File upload;  
  2. private String uploadFileName;  
  3. private String uploadContentType;  
  4. private String tels; 

 

 
  1. /**  
  2.      * 读取Excel Txt 文件 UI  
  3.      * @return  
  4.      */ 
  5.     public String addExcelUI(){  
  6.         return "addTel";  
  7.     }  
  8.       
  9.       
  10.       
  11.     /**  
  12.      * 读取Excel Txt文件  
  13.      * @return  
  14.      * @throws Exception  
  15.      */ 
  16.     public String addTel() throws Exception{  
  17.         if (uploadFileName.lastIndexOf(".xls") >= 1) {  
  18.             List<String[]> excelValueList = new ArrayList<String[]>();  
  19.             excelValueList = Excel.readExcel(upload);  
  20.             StringBuffer sb = new StringBuffer();  
  21.             for (int i = 0; i < excelValueList.size(); i++) {  
  22.                 String s[] = excelValueList.get(i);  
  23.                 for (int n = 0; n < s.length; n++) {  
  24.                     sb.append(s[n]);  
  25.                     sb.append(",");  
  26.                 }  
  27.             }  
  28.             tels = sb.toString();  
  29.             return sendSmsUI();  
  30.         }else if (uploadFileName.lastIndexOf(".txt") >= 1) {  
  31.             List<String> txtValueList = new ArrayList<String>();  
  32.             txtValueList = Txt.readTxt(upload);  
  33.             StringBuffer sb = new StringBuffer();  
  34.             for (int i = 0; i < txtValueList.size(); i++) {  
  35.                 sb.append(txtValueList.get(i));  
  36.                 sb.append(",");  
  37.             }  
  38.             tels = sb.toString();  
  39.             return sendSmsUI();  
  40.         }else {  
  41.             addActionMessage("不允许上传此类文件!");  
  42.             return "addTel";  
  43.         }  
  44.     } 

 

第三 ,struts.xml 进行配置,跳转 。 jsp页面调用 如下:

 

 
  1. <strong><textarea name="sms.mobileNumber" onkeyup="value=this.value.replace(/[^\d,]+/g,'')" id="mobileNumber" style="height: 100px;width: 360px;">${tels}</textarea> </strong> 

 

方法 与 jsp页面 交互的就是 tels 全局变量 !

 

 

------------------------------------

总结 :这个只点击上传的时候 ,得到里面的数据 。不需要上传到服务器 !