... poi 3.8
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.RegionUtil;
/**
* Excel 工具类
*
* @author Administrator
*
*/
public class ExcelUtil2 {
//excel模板路径
//private static final String baseExcelModelUrl = System.getProperty("catalina.home") + "/webapps/fszfbz_v1";
private static final String baseExcelModelUrl = System.getProperty("catalina.home") + "/webapps/JZOA_V2/";
/** 模板 **/
/**
* 复制excel模板
*
* @throws FileNotFoundException
* @throws IOException
*/
public static HSSFWorkbook importExcellModel(String excelurl) throws FileNotFoundException, IOException {
File file = new File(baseExcelModelUrl+excelurl);
InputStream is = new FileInputStream(file);
HSSFWorkbook wb = new HSSFWorkbook(is);
return wb;
}
/**
* 根据workbook并插入数据
* @param modelName
* @param dataArray
* @param fieldName
* @throws FileNotFoundException
* @throws IOException
*/
public static HSSFWorkbook createHSSFSheet(HSSFWorkbook wb,int sheetNum,int startRow,int startCol,List
...
// (后台调用的方法部分)
List> sj = dBSelect(sql);
//文件名
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date today = new Date();
String appId ="ZB-"; // 中文不行
//b=b.replace("b","");
appId += format.format(today);//.replace("-","").replace(":","").replace(" ","")
String [] sxm = {"序号","xmmc", "problemContent", "selfCheckingSituation", "","endTime","","completion",""};
// xmmc, problem_content, self_checking_situation, '', end_time,'',completion,""
// 所属项目 工作内容 完成结果 完成状态 完成时间 协助人 已达成结果和完成程度 备注
if(sj !=null && !sj.isEmpty()){
HSSFWorkbook wb = ExcelUtil2.importExcellModel("/excelModel/WeeklyTemplate.xls"); // 由于 $ 部分需要替换
ExcelUtil2.replaceCellValue(replaceDataMap,wb.getSheetAt(0),5); // 创建一个Excel文件
wb = ExcelUtil2.createHSSFSheet(wb,0, 5,1, sj,sxm); // 创建一个Excel文件
/*HSSFWorkbook wb = ExcelUtil2.createHSSFSheet("/excelModel/rent_collection_import.xls", 2, 1, list, fieldName); */
String ming = ExcelUtil2.generateExcel2(appId,wb); // generateExcel(response对象,导出文件的名字,wb)
//ExcelUtil2.generateExcel(getResponse(),appId,wb); // 不用ajax 的方式,其不用返回什么
try{
if(!ming.equals("")){
//导出成功
returnMap.put("ming", ming);
}
}catch (Exception e) {
returnMap.put("status", "-1");
//e.printStackTrace();
}
...
function exportExcel(){ //不用ajax
var large = mini.get("large").getText();
var Small = mini.get("Small").getText();
if(large != null && Small !=null && large != "" && Small !="" ){
console.log(large);
window.open("<%=basePath %>exportExcel/exportExcel.do?large="+large+"&Small="+Small);
}else{
alert("请输入开始时间与截止时间!!!");
}
}
function exportExcel_ajax(){ //用ajax(可以传复杂的参数)
//alert("!!!!!!!!!!!!!");
var large = mini.get("large").getText();
var Small = mini.get("Small").getText();
if(large != null && Small !=null && large != "" && Small !="" ){
$.ajax({
url: "<%=basePath %>exportExcel/exportExcel.do",
data: {large:large,Small:Small},
type: "post",
dataType:'json',
success: function (text) {
if(text.status == '-1') {
//console.log("");
mini.alert("导出失败或无数据!");
}else{
var ming = text.ming;
<%String webdav = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/webdav/";%>
window.open("<%=webdav%>"+ming);
}
},
error: function (jqXHR, textStatus, errorThrown) {
//alert(jqXHR.responseText);
//cancel(); //关闭窗口
mini.alert("导出异常!");
}
});
}else{
alert("请输入开始时间与截止时间!!!");
}
}