利用poi-3.10-20120326.jar包 和工具包sl-common.jar (数据过多会oom)
/**
* @date 2015-9-14
* @author li
* @Description: (小数据)导出Excel, 大数据导出 zip包
* @param xls_write_Address 导出地址,list 导出的数据 sheetname 页签名称
* @param bus
* @return void
* @throws
*/
public void writeExcel( String xls_write_Address,List<Map> list,String sheetname) {
String[] array = new String[]{"开票日期","发票代码","销方税号","销方名称","销方地址及电话","销方开户行及账号","主要主品名称",
"购方税号","购方名称","购方地址及电话","购方开户行及账号","收款人","复核人","发票人","红/蓝单据"};
OutputStream os =null;
try {
List<String[]> rows = new ArrayList<String[]>();
for(Map data : list) {
String[] dataArray = new String[15];
dataArray[0] = CollectionUtil.getStringFromMap(data, "cDate");
dataArray[1] = CollectionUtil.getStringFromMap(data, "cCode");
dataArray[2] = CollectionUtil.getStringFromMap(data, "cTaxNo");
dataArray[3] = CollectionUtil.getStringFromMap(data, "cXfname");
dataArray[4] = CollectionUtil.getStringFromMap(data, "cXfaddress");
dataArray[5] = CollectionUtil.getStringFromMap(data, "cXfbank");
dataArray[6] = CollectionUtil.getStringFromMap(data, "cMaingoods");
dataArray[7] = CollectionUtil.getStringFromMap(data, "cGfTaxNo");
dataArray[8] = CollectionUtil.getStringFromMap(data, "cGfName");
dataArray[9] = CollectionUtil.getStringFromMap(data, "cGfaddress");
dataArray[10] = CollectionUtil.getStringFromMap(data, "cGfbank");
dataArray[11] = CollectionUtil.getStringFromMap(data, "cPayee");
dataArray[12] = CollectionUtil.getStringFromMap(data, "cChecker");
dataArray[13] = CollectionUtil.getStringFromMap(data, "cMaker");
dataArray[14] = CollectionUtil.getStringFromMap(data, "cIsred");
rows.add(dataArray);
}
//简单表头
SimpleExcelParam sep = new SimpleExcelParam();
sep.setFileName(sheetname);
sep.setTitle("发票明细列表");
sep.setHeaders(array);
sep.setAligns(new String[]{"left","left"});
sep.setRows(rows);
String fileName = sep.getFileName() + "." + FileDownload.SUFFIX_EXCEL;
File file = new File(xls_write_Address);
if(!file.getParentFile().exists()){
file.getParentFile().mkdir();
}
file.createNewFile();
os = new FileOutputStream(file);
os = FileDownload.getOutputStream( RequestContext.getResponse(), FileDownload.CONTENT_TYPE_EXCEL, fileName);
HSSFWorkbook wb = PoiExcelHelper.createSimpleHSSFWorkbook(sep);
wb.write(os);
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
xx