需求:需要把500列,170000行导进excel
1 HSSFWorkbook
package vo.test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class TestHSSF {
public static final int COLUMN = 500;
public static final int ROW = 17000;
public static void main(String[] args) throws IOException {
/*title数据准备,1000列*/
String[] titlestr=new String[COLUMN];
for(int k = 0; k < COLUMN; k++){
titlestr[k]="Title_"+k;
}
/*主体数据准备,17000行,1000列*/
List<String[]> list=new ArrayList<String[]>();
for(int i = 0; i < ROW; i++){
String[] str=new String[COLUMN];
for(int j = 0; j < COLUMN; j++){
str[j]="L"+i+j;
}
list.add(str);
}
outputExcel(list,titlestr);
}
public static void outputExcel(List<String[]> list,String[] titlestr) throws IOException{
// 创建Excel
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet0");
ServletOutputStream out = null;
/*生成title*/
HSSFRow row = sheet.createRow(0);
HSSFCell cell;
for (int i = 0; i < titlestr.length; i++) {
cell = row.createCell(i);
cell.setCellValue(titlestr[i]);
}
/*生成数据*/
for (int i = 0; i < list.size(); i++) {
String[] str=list.get(i);
row = sheet.createRow(i+1);
for(int j = 0; j < str.length; j++){
cell = row.createCell(j);
cell.setCellValue(str[j]);
}
}
FileOutputStream fout = new FileOutputStream("F://myexcel.xls");
wb.writ