grid数据导出excel例子(POI)只导出grid内已查询到的数据

function test(fromObj,sSingleCmd){
var gridName = sSingleCmd.substring(7, sSingleCmd.length-3);//获取控件名称
var grid = fromObj.GetElement(gridName);
debugger;
var store = grid.getStore();
var data = [];
if(!store.reader.arrayData){return false};
for(var i=0;i<store.reader.arrayData.length;i++){
data.push(store.reader.arrayData[i]+"");
}
var fields = [];
for(var j=0;j<store.fields.keys.length;j++){
fields.push(store.fields.keys[j]);
}
if(data.length == 0){return false};
var data1=Ext.encode(data);
var fields1=Ext.encode(fields);
    $.post( "AffixExtend_daochu.do",
        {"fields":fields1,"data":data1},
function(data){
        window.open(data);
        }
);
 }
 webform.CoReg('test',test);
public void daochu() throws IOException{
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    response.setCharacterEncoding("UTF-8");
    String data = request.getParameter("data");
    String fields = request.getParameter("fields");
    data = data.substring(2,data.length()-2);
    fields = fields.substring(2,fields.length()-2);
    String[] arrdata=data.split("\",\"");
    String[] arrfields=fields.replaceAll("\"","").split(",");
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet("sheet");   //--->创建了一个工作簿 
    String fileurl ="";
    String filename="";
        HSSFDataFormat format= wb.createDataFormat();
        //新建字体样式
        HSSFCellStyle style = wb.createCellStyle();
        //新建字体
        HSSFFont font = wb.createFont(); 
        //font.setFontHeightInPoints((short)20);//字体大小
        font.setItalic(true);//加粗
        style.setFont(font); //将字体加入到样式style中
        HSSFRow titleRow = sheet.createRow(0);//新建标题
        //System.out.println(data);
        //创建EXCEL 标题 S
        for(int i=0;i<arrfields.length;i++){
        HSSFCell cell = titleRow.createCell((short)i);
        cell.setCellValue(arrfields[i]);
        cell.setCellStyle(style);
        }
      //创建EXCEL 标题 E

        //填写EXCEL 内容 S
        for(int j=0;j<arrdata.length;j++){
        String[] rowdata = arrdata[j].split(",");
        HSSFRow row = sheet.createRow(j+1);
        for(int k=0;k<rowdata.length;k++){
        HSSFCell rownow = row.createCell((short)k);
        rownow.setCellValue(rowdata[k]);
        }
        }
      //填写EXCEL 内容 标题 E

        FileOutputStream fileOut = null;
        try {
        String commonPath=ServletActionContext.getServletContext().getRealPath("/temp");
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
        String nowDate = df.format(new Date());
        filename="\\workbook"+nowDate+".xls";
        fileurl =commonPath+filename;
fileOut = new FileOutputStream(fileurl);
wb.write(fileOut);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
        finally{
            try {
            if(fileOut!=null){
            fileOut.close();
            }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
}
        response.getWriter().write(basePath+"temp\\"+filename.replace("\\", ""));
    }

你可能感兴趣的:(grid数据导出excel例子(POI)只导出grid内已查询到的数据)