package com.lead.lead;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class OperateExcelUtil {
public final static int MAX_COUNT_NUMBER = 30000;
public final static String STYLE_STRING = "String_Type";
public final static String STYLE_NUMERIC = "Numeric_Type";
public final static String STYLE_DATE1 = "yyyy-M-d";
public final static int IS_NUMERIC = HSSFCell.CELL_TYPE_NUMERIC;
public final static int IS_STRING = HSSFCell.CELL_TYPE_STRING;
public final static int IS_DATE = 9999;
// public void createExcelFile(String sFileName, List aList,
// String sTypes[], boolean isTitle) throws Exception {
// createExcelFile(sFileName, "工作表", aList, sTypes, isTitle, null);
// }
//
// public void createExcelFile(String sFileName, List aList,
// boolean isTitle) throws Exception {
// createExcelFile(sFileName, "工作表", aList, null, isTitle, null);
// }
public void createExcelFile(String sFileName, String sheetBaseName,
List aList, String sTypes[], boolean isTitle)
throws Exception {
// 判断文件名是否正确的扩展名(.xls)
if (sFileName != null && !sFileName.equals("")) {
if (sFileName.lastIndexOf(".xls") == -1) {
throw new Exception(sFileName + " 文件扩展名不正确.");
}
} else {
throw new Exception("Null value or length equals 0");
}
// 判断数据集合是否为空
if (aList == null) {
throw new Exception("Null value or length equals 0");
}
// 创建一个工作簿
HSSFWorkbook workBook = new HSSFWorkbook();
// 获取EXCEL的样式实例
HSSFCellStyle cellStyle = workBook.createCellStyle();
/** (开始)写入数据到工作簿 */
if (aList != null && aList.size() > 0) {
// 数据大小
int iDataSize = aList.size();
// 临时工作表
HSSFSheet sheetTmp = null;
// 当前工作表的记录数(行数)
int iCountNum = MAX_COUNT_NUMBER;
// 工作簿中工作表数
int iTotalSheetNum = 0;
// 判断是否有标题,如果有标题,将标题临时保存
String aTitles[] = null;
if (isTitle) {
aTitles = aList.get(0);
}
for (int i = 0; i < iDataSize; i++, iCountNum++) {
if (iCountNum == MAX_COUNT_NUMBER) {
String sNameTmp = sheetBaseName + "_" + (++iTotalSheetNum);
sheetTmp = workBook.createSheet();
workBook.setSheetName(iTotalSheetNum - 1, sNameTmp);
iCountNum = 0;