java实现的导出Excel工具类实例

  

本文实例讲述了java实现的导出Excel工具类。分享给大家供大家参考,具体如下:

  

ExcelExportUtil:

        包com.excel;   进口java.io.FileOutputStream;   进口java.io.IOException;   进口java.io.OutputStream;   进口java.util.HashSet;   进口java.util.Map;   进口java.util.Set;   进口java.util.regex.Pattern;   进口jxl.Workbook;   进口jxl.write.Label;   进口jxl.write.Number;   进口jxl.write.NumberFormat;   进口jxl.write.WritableCellFormat;   进口jxl.write.WritableSheet;   进口jxl.write.WritableWorkbook;   进口jxl.write.WriteException;   进口jxl.write.biff.RowsExceededException;/* *   *生成excel表格   *   * @author   *   */公开课ExcelExportUtil {/* *   *构造器   *   */公共ExcelExportUtil () {   }/* *   *生成具有一定格式excel   *   * @param sheetName   *表名称,默认为sheet1   * @param nf   *数字类型的格式如:jxl.write。NumberFormat nf=new   * jxl.write.NumberFormat(“# # #”);默认无格式   * @param内容   *二维数组,要生成excel的数据来源   * @param合并项   *每一项的数据格式为0,- 1,0,即:把(0,1)和(0,2)合并——→第1列的第一,二个元素合并   * @param操作系统   * excel输出流   * @param行   *需要水平居中的行,默认居左。以逗号分隔的字符串   * @param坳   *需要水平居中的列,默认居左。以逗号分隔的字符串   */公共空出口(字符串sheetName NumberFormat nf, String[][]的内容,   String [] mergeInfo OutputStream os,字符串,字符串坳){   如果(VerifyUtil。isNullObject(内容、操作系统)| | VerifyUtil.isNull2DArray(内容)){   返回;   }//默认名称   如果(VerifyUtil.isNullObject (sheetName)) {   sheetName=" sheet1”;   }   Set行=this.getInfo(行);   Set关口=this.getInfo (col);   WritableWorkbook工作簿=零;   尝试{   工作簿=Workbook.createWorkbook (os);   WritableSheet表=工作簿。createSheet (sheetName 0);   for (int i=0;我& lt;content.length;我+ +){   for (int j=0;j & lt;内容[我]. length;j + +) {   如果(内容[我][j]==null) {   内容[我][j]=" ";   }   如果(isNumber(内容[我][j]),,! rows.contains(我)   ,,! cols.contains (j)){//处理数字   数量数量=零;   如果(VerifyUtil.isNullObject (nf)){//数字无格式   数量=新号码(j,我,   Double.valueOf(内容[我][j]));   其他}{//如果有格式,按格式生成   jxl.write。WritableCellFormat wcfn=new jxl.write.WritableCellFormat (   nf);   数量=新号码(j,我,   Double.valueOf(内容[我][j]), wcfn);   }   sheet.addCell(数量);   其他}{//处理非数字   WritableCellFormat格式=new WritableCellFormat ();   如果(rows.contains (i) | | cols.contains (j)) {   format.setAlignment (jxl.format.Alignment.CENTRE);   其他}{   format.setAlignment (jxl.format.Alignment.LEFT);   }   format.setVerticalAlignment (jxl.format.VerticalAlignment.CENTRE);   标签标签=新标签(j,我[我][j],内容格式);   sheet.addCell(标签);   }   }   }   这一点。(合并表,mergeInfo);   workbook.write ();   }捕捉(异常e) {   e.printStackTrace ();   最后}{   尝试{   workbook.close ();   os.close ();   }捕捉(WriteException e) {//TODO自动生成的catch块   e.printStackTrace ();   }捕捉(IOException e) {//TODO自动生成的catch块   e.printStackTrace ();   }   }   }/* *   *生成固定格式的excel,表格都为文本,水平居左,垂直居中   *   * @param sheetName   *表名称,默认为sheet1   * @param内容   *二维数组,要生成excel的数据来源   * @param操作系统   * excel输出流   */公共空间exportFormatExcel (String[][]内容,字符串sheetName,   OutputStream os) {   如果(VerifyUtil。isNullObject(内容、操作系统)| | VerifyUtil.isNull2DArray(内容)){   返回;   }//默认名称   如果(VerifyUtil.isNullObject (sheetName)) {   sheetName=" sheet1”;   }   WritableWorkbook工作簿=零;   尝试{   工作簿=Workbook.createWorkbook (os);   WritableSheet表=工作簿。createSheet (sheetName 0);   for (int i=0;我& lt;content.length;我+ +){   for (int j=0;j & lt;内容[我]. length;j + +) {   如果(内容[我][j]==null) {   内容[我][j]=" ";   }   WritableCellFormat格式=new WritableCellFormat ();   format.setAlignment (jxl.format.Alignment.LEFT);   format.setVerticalAlignment (jxl.format.VerticalAlignment.CENTRE);   标签标签=新标签(j,我[我][j],内容格式);   sheet.addCell(标签);   }   }   workbook.write ();   }捕捉(异常e) {   e.printStackTrace ();   最后}{   尝试{   workbook.close ();   }捕捉(WriteException e) {//TODO自动生成的catch块   e.printStackTrace ();   }捕捉(IOException e) {//TODO自动生成的catch块   e.printStackTrace ();   }   }   }/* *   *生成固定格式的excel,表格都为文本,水平居左,垂直居中   *   * @param sheetName   *表名称,默认为sheet1   * @param内容   *地图,要生成excel的数据来源   * @param操作系统   * excel输出流   */公共空间exportFormatExcel (Map

java实现的导出Excel工具类实例