java中excel工具类_Java中Excel写操作工具类--Java免费学习网

package com.common.excel;

import com.common.excel.exception.WriteExcelException;

import jxl.Workbook; import jxl.WorkbookSettings;

import jxl.format.Alignment;

import jxl.write.DateFormats; import jxl.write.DateTime; import jxl.write.Label; import jxl.write.Number; import jxl.write.WritableCellFormat; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook;

import java.io.File;

import java.sql.ResultSet;

import java.util.ArrayList; import java.util.Date;

//import java.sql.ResultSetMetaData; import java.util.List; import java.util.Locale;

/**  * @author ccj  */ public class Write {     /**      *防止外部构造      */     private Write() {     }

/**      * 取得WriteExcel实例      * @return      */     public static Write getInstance() {         return new Write();     }     /**      * 写一个空的Excel      * @param sheetName      * @param realFilePathAndName 文件名的真实路径      * @throws WriteExcelException      */     public void write(String sheetName, String realFilePathAndName)         throws WriteExcelException {         this.write(sheetName, new ArrayList(), 0, new ArrayList(), 1,             realFilePathAndName);     }

/**      * 写Excel      * @param sheetName sheet名,如果没有为NULL      * @param titleList excel标题的集合      * @param contentList excel内容的集合      * @param realFilePathAndName 文件名的真实路径      * @throws WriteExcelException      */     public void write(String sheetName, List titleList, List contentList,         String realFilePathAndName) throws WriteExcelException {         this.write(sheetName, titleList, 0, contentList, 1, realFilePathAndName);     }

/**      * 写Excel   Java免费学习  Java自学网  http://www.javalearns.com      * @param sheetName sheet名,如果没有为NULL      * @param titleList excel标题的集合      * @param titleRowNum 标题开始行,0为第一行      * @param contentList excel内容的集合      * @param contentStartRowNum 内容开始行,0为第一行      * @param realFilePathAndName 文件名的真实路径      * @throws WriteExcelException      */     public void write(String sheetName, List titleList, int titleRowNum,         List contentList, int contentStartRowNum, String realFilePathAndName)         throws WriteExcelException {         WorkbookSettings ws = new WorkbookSettings();         ws.setLocale(new Locale("zh", "CN"));

try {             WritableWorkbook workbook = Workbook.createWorkbook(new File(                         realFilePathAndName), ws);             WritableSheet sheet = null;

if (sheetName != null) {                 sheet = workbook.createSheet(sheetName, 0);             } else {                 sheet = workbook.createSheet("sheet", 0);             }

//验证行数             if (titleRowNum < 0) {                 titleRowNum = 0;             }

if (contentStartRowNum <= titleRowNum) {                 contentStartRowNum = titleRowNum + 1;             }

//验证标题与内容             if (titleList == null) {                 titleList = new ArrayList();             }

if (contentList == null) {                 contentList = new ArrayList();             }

WritableCellFormat wcf = new WritableCellFormat();             wcf.setAlignment(Alignment.CENTRE);

//循环生成标题             for (int i = 0; i < titleList.size(); i++) {                 Label label = new Label(i, titleRowNum,                         String.valueOf(titleList.get(i)), wcf);                 sheet.addCell(label);             }

for (int ii = 0; ii < contentList.size(); ii++) {                 //循环生成内容                 List list = (List) contentList.get(ii);

for (int i = 0; i < list.size(); i++) {                     Object value = list.get(i);

if (value instanceof Integer) {                         Integer valueInt = (Integer) value;                         Number n = new Number(i, contentStartRowNum,                                 valueInt.intValue());                         sheet.addCell(n);                     } else if (value instanceof Double) {                         Double valueDouble = (Double) value;                         Number n = new Number(contentStartRowNum, i,                                 valueDouble.doubleValue());                         sheet.addCell(n);                     } else if (value instanceof Boolean) {                         Boolean valueBoolean = (Boolean) value;                         jxl.write.Boolean b = new jxl.write.Boolean(contentStartRowNum,                                 i, valueBoolean.booleanValue());                         sheet.addCell(b);                     } else if (value instanceof Date) {                         Date valueDate = (Date) value;                         WritableCellFormat cf1 = new WritableCellFormat(DateFormats.FORMAT9);                         DateTime dt = new DateTime(i, contentStartRowNum,                                 valueDate, cf1);                         sheet.addCell(dt);                     } else {                         Label l = new Label(i, contentStartRowNum,                                 String.valueOf(value));                         sheet.addCell(l);                     }                 }

contentStartRowNum++;             }

workbook.write();             workbook.close();         } catch (Exception e) {             throw new WriteExcelException(e.toString());         }     }

/**      * 写Excel      * @param sheetName sheet名,如果没有为NULL      * @param titleList excel标题的集合      * @param contentResultSet excel内容的数据库集合      * @param realFilePathAndName 文件名的真实路径      * @throws WriteExcelException      */     public void write(String sheetName, List titleList,         ResultSet contentResultSet, String realFilePathAndName)         throws WriteExcelException {         //try{         // ResultSetMetaData r =  contentResultSet.getMetaData();         // r.getColumnCount();         //}catch(Exception e){         //}         //      }

/**      * 写Excel      * @param sheetName sheet名,如果没有为NULL      * @param titleList excel标题的集合      * @param titleRowNum 标题开始行,0为第一行      * @param contentResultSet excel内容的数据库集合      * @param contentStartRowNum 内容开始行,0为第一行      * @param realFilePathAndName 文件名的真实路径      * @throws WriteExcelException      */     public void write(String sheetName, List titleList, int titleRowNum,         ResultSet contentResultSet, int contentStartRowNum,         String realFilePathAndName) throws WriteExcelException {     }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值