JXL Parse Excel(03)
package parseExcel2007;//IO操作相关处理类import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;//JXL处理Excel相关类import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;/** * JXL Parse Excel(03) */public class MSExcelHandler2003 {/** * jxl解析excel(03版) * @param file文件的路径,全路径 * @return 供页面展示的数据 */public String parseExcelFor2003(String file){Workbook workbook = null;String resultStr = null;StringBuffer stringbuffer = new StringBuffer();stringbuffer.append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><title>Parse Excel With JXL</title></head><body>");try {//通过Workbook的静态方法getWorkbook选取Excel文件 workbook = Workbook.getWorkbook(new File(file)); //获得sheet的数目int sheetNum = workbook.getNumberOfSheets();for(int sn = 0 ; sn < sheetNum ; sn++){Sheet sheet = workbook.getSheet(sn); int rows = sheet.getRows();int columns= sheet.getColumns();stringbuffer.append("<tableborder=1 cellspacing=0 cellpadding=1>");for(int i = 0 ; i < rows ; i++){//一行一行的读stringbuffer.append("<tr align='middle'>"); for( intj= 0 ; j<columns; j ++ ) { Cell cell=sheet.getCell(j, i); //通过Cell的getContents方法把单元格中的信息以字符的形式读取出来 String result=null; result = cell.getContents(); if(result==null||"".equals(result)){ result ="&nbsp;"; } stringbuffer.append("<td>").append(result).append("</td>"); } stringbuffer.append("</tr>");}stringbuffer.append("</table>");}stringbuffer.append("</body></html>");} catch (BiffException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(workbook != null){//关闭workbook以释放资源:workbook.close(); }resultStr = stringbuffer.toString();return resultStr;}}/** * @description 给手机客户端生成EXCEL的查看地址 * @param clientExcelURL生成的文件地址 * @param file_name_source需要解析的文件地址 * @return解析之后产生的文件地址 **/public String clientExcelUrl(String clientExcelURL,String file_name_source){OutputStream serverout = null;try {serverout = new FileOutputStream(clientExcelURL);serverout.write(this.parseExcelFor2003(file_name_source).getBytes("UTF-8")); //手机默认编码是UTF-8 serverout.flush(); serverout.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{}return clientExcelURL;}}
页:
[1]