java使用opi导出excel

1.导入jar包

        
        
		org.apache.poi
		poi
		3.14
	
	
	
		org.apache.poi
		poi-ooxml
		3.14
	


2.工具类

package com.hr.basic.utils;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
*
* @author gw
* @version 2017年3月10日 上午8:07:52
*/
public class ExcelUtil {
	
	/**
	 * 
	 * @methodName:getHSSFWorkbook
	 * * @param sheetName
	 * * @param title 表头
	 * * @param values 表格内容
	 * * @param wb
	 * * @return
	 * @return HSSFWorkbook
	 * @author gw 
	 * @date 2017年3月10日上午11:19:20
	 */
	public static HSSFWorkbook getHSSFWorkbook(String sheetName, String []title, String [][]values, HSSFWorkbook wb){
		//第一步,创建一个webbook,对应一个Excel文件
		if(wb == null){
			wb = new HSSFWorkbook();
		}
		//第二步,在webbook中添加一个sheet,对应excel文件中的sheet
		HSSFSheet sheet = wb.createSheet(sheetName);
		//第三步,在sheet中添加表头第0行
		HSSFRow row = sheet.createRow(0);
		//第四步,创建单元格,并设置表头,设置表头居中
		HSSFCellStyle style = wb.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中格式
		
		HSSFCell cell = null;
		
		//创建标题
		for(int i=0;i

3.导入表格信息

      @RequestMapping(value = "/exportExcel", method = RequestMethod.POST)
      @ResponseBody
      public String exportExcel(Map params, HttpServletRequest request, HttpServletResponse response) {
        List list = payDao.getList(params);
	String fileName = "Excel"+System.currentTimeMillis()+".xls"; //文件名 
        String sheetName = "收款管理";//sheet名
        
        String []title = new String[]{"付款人","付款金额","上传日期","付款时间","确认人"};//标题
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        
        String [][]values = new String[list.size()][];
        for(int i=0;i

其中

            try {
            	values[i][2] = sdf.format(obj.getCreateTime());//上传日期
		values[i][5] = sdf.format(obj.getVerifyTime());//确认时间
	    } catch (NullPointerException e) {
            }

是因为我的数据库中有数据为空,需要捕获一下

我是用的是,先在服务器上保存文件,然后使用浏览器的下载功能,下载到本地

调用方法返回url字符串,将字符串给浏览器,window.open(data.responseText);

exportAllExcel:function(){
        Ext.Msg.alert("信息提示","正在导出,请稍后!");
	Ext.Ajax.request({
          url:'business/pay/exportExcel',
          method:'POST',
          //params:{path:record.data.payId},
          success:function(data){
        	Ext.Msg.alert("信息提示","导出成功!");
        	window.open(data.responseText);
          },
	  failure : function(){
		Ext.Msg.alert("信息提示", "操作失败,请检查网络是否正常!");
	  }
	});
  }



你可能感兴趣的:(java)