常规的java导出excel表格最大的数据量是65535行。
package com.sf.module.timeManagement.biz;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
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.HSSFRichTextString;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import com.sf.module.basemanagement.domain.InfoSystem;
import com.sf.module.basemanagement.domain.OrgGroup;
import com.sf.module.dependwlm.domain.Version;
import com.sf.module.frameworkimpl.excel.ColumnDefine;
import com.sf.module.frameworkimpl.excel.TableDefine;
import com.sf.module.organization.domain.Department;
import com.sf.module.organization.domain.Employee;
import com.sf.module.qasbaseinfo.domain.QasDictionarys;
import com.sf.module.worksystem.domain.JobType;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.Row;
/**
* 单纯地数据导出,不做其他处理 2015-08-05
*
* @author 591028
*
*/
public class ExcelExportSpBigData {
// Excel导出表格式定义
private TableDefine tableDefine;
// 创建工作本 TOS
public SXSSFWorkbook workbook = new SXSSFWorkbook(100);
public int num = 0;
public ExcelExportSpBigData(TableDefine tableDefine) {
this.tableDefine = tableDefine;
}
/**
* 导出数据到InputStream
*
* @param data
* @return
*/
public InputStream export(Collection<?> data) {
workbook = new SXSSFWorkbook(100);
workbook.setCompressTempFiles(true);
num = data.size();
SXSSFSheet sheet = (SXSSFSheet) workbook.createSheet(tableDefine
.getSheetName());
writeSheet(sheet, data);
return save(workbook);
}
/**
* 导出Excel