`
lengchaotian
  • 浏览: 278538 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

POI 导出exlce 操作

阅读更多
package com.test.util;

import java.util.List;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


/**
* <操作excle公共类 service>
* <功能详细描述>
* @author  * @version  [版本号, 2012-5-9]
* @see  [相关类/方法]
* @since  [产品/模块版本]
*/
public class ExportExcelUtil
{
    /**
     * <导出活跃告警信息>
     * <功能详细描述>
     * @param list
     * @return
     * @see [类、类#方法、类#成员]
     */
    public XSSFWorkbook exportActive(List<ActiveAlarmInfo> list)
    {
        // 声明一个工作薄
        XSSFWorkbook workBook = new XSSFWorkbook();
       
        // 生成一个工作表
        XSSFSheet sheet = workBook.createSheet();
       
        //给sheet赋值
        workBook.setSheetName(0, "active");
       
        //生成一行
        XSSFRow row = sheet.createRow(0);
       
        //锁定0行一列
        sheet.createFreezePane(0, 1);
       
        //设置4列单元格宽度(根据创建的单元格多少来设定多少列)
        for (int i = 0; i < 2; ++i)
        {
            sheet.setColumnWidth(i, 7200);
        }
       
        //给exlce表格头的字段赋值
        cteateCell(row, 0, "标识");
        cteateCell(row, 1, "名称");
              
        //如果list不为空进行excle写入操作
        if ((null != list) && (list.size() > 0))
        {
            int i = 0;
           
            XSSFRow row2 = null;
           
            //遍历list把结果写入excle表格
            for (ActiveAlarmInfo active : list)
            {
                i++;
               
                row2 = sheet.createRow(i);
               
                cteateCell(row2, 0, active.getHnbID());
                cteateCell(row2, 1, active.getHnbName());
              }
        }
       
        return workBook;
    }
   
       
    /**
     * <创建表格公共方法>
     * <功能详细描述>
     * @param row
     * @param col
     * @param value
     * @see [类、类#方法、类#成员]
     */
    private void cteateCell(XSSFRow row, int col, String value)
    {
        //创建单元格
        XSSFCell cell = row.createCell(col);
       
        //给单元格赋值
        cell.setCellValue(value);
    }
   
}


/**
     * <活跃告警信息exlce导出 controller>
     * <功能详细描述>
     * @param request
     * @param response
     * @see [类、类#方法、类#成员]
     */
    @RequestMapping("/exportActive")
    public void exportActive(HttpServletRequest request, HttpServletResponse response, ActiveAlarmInfo active)
    {
        try
        {
            //取得request范围内的参数类型
            String type = request.getParameter("type");
           
            //获取用户权限
            HttpSession session = request.getSession();
            UserInfo user = (UserInfo)session.getAttribute("user");
            String roleBank = user.getRoleRank();
            List<ActiveAlarmInfo> activeList = null;
          
            //设置excle表格的名称
            response.setHeader("Content-disposition", "attachment; filename=exportAllActive.xlsx");
           
    //获取数据
            ActiveAlarmInfo actives = new ActiveAlarmInfo();
            activeList = activeService.getAllActiveInfo(actives);

            //定义输出流
            OutputStream os = null;
           
            ExportExcelUtil excle = new ExportExcelUtil();
           
            //创建exlce表格类,调用导出方法
            XSSFWorkbook workBook = excle.exportActive(activeList);
           
            //写出文件
            os = response.getOutputStream();
            workBook.write(os);
           
        }
        catch (Exception e)
        {
            logger.error(Global.LOG_EXCEPTION_NAME, e);
        }
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics