导出excel文件

  HSSFWorkbook fileName = infoQueryService.exportMyInfoToExcel(infoHeaderBO);

            response.setContentType("APPLICATION/OCTET-STREAM");
            response.setHeader("Content-Disposition", "attachment; filename=/"Info.xls/"");

            //把数据放到流中
            OutputStream os = response.getOutputStream();
            fileName.write(os);
            response.flushBuffer();

 

 

 

 

 

 

 

 

 

private HSSFWorkbook exportResultApprove(List dataList) throws EccInfoException
    {
        //初始化HSSFWorkbook对象
        HSSFWorkbook wb = null;

        //初始化信息列表
        List infoList = new ArrayList();

        //初始化详细信息列表
        List detailsList = new ArrayList();
        //构造标题信息
        String[] headInfo =
            {
                "序号",
                                                "最后修改人" };

        //将列头数组转换为List
        detailsList = Arrays.asList(headInfo);

        //将列头添加到信息列表中
        infoList.add(detailsList);

        // 事业部/中心
        String deptCenter = "";

           String deptCenter1 = "";
        String deptDname = "";

        //判断数据列表是否存在
        if (dataList != null && dataList.size() > 0)
        {
            //循环数据列表
            for (int i = 0; i < dataList.size(); i++)
            {
                //获得数据列表单元对象
                Object listObject = dataList.get(i);

                //判断数据列表单元对象是否为InfoHeaderBO类型
                if (listObject instanceof InfoHeaderBO)
                {
                    //初始化项目业务对象
                    InfoHeaderBO infoHeaderBO = (InfoHeaderBO)listObject;

                    //初始化详细信息列表
                    detailsList = new ArrayList();
                    detailsList.add(String.valueOf(i + 1));
                    try
                    {
                        deptName = infoHeaderBO.getProvideByName();

                     detailsList.add(fullId);
                    detailsList.add(infoHeaderBO.getInfoHeaderVO().getInfoTitle());
                     detailsList.add(infoHeaderBO.getInfoHeaderVO().getLastUpdatedBy());
                    //将详细信息列表添加到信息列表中
                    infoList.add(detailsList);
                }
            }
        }

        IpmExportService ipmExportService = new IpmExportService();

        //建立新HSSFWorkbook对象
        wb = ipmExportService.writeToExport(infoList);

        return wb;
    }

 

 

 * 方法名称:writeToExport
     * 内容摘要:从传入的列表dataList中按顺序取出里面的列表arryList,
     * 然后从arrayList得到所有的String写到一行中;
     *
     * @param dataList
     * @return HSSFWorkbook
     * @roseuid 4313ABB00399
     */
    public HSSFWorkbook writeToExport(List dataList) throws EccInfoException
    {
        //初始化HSSFWorkbook对象
        HSSFWorkbook wb = null;
        try
        {
            //判断列表是否存在
            if (dataList == null || dataList.size() < 1)
            {
                return null;
            }
            //建立新HSSFWorkbook对象
            wb = new HSSFWorkbook();
            //建立新的sheet对象
            HSSFSheet sheet = wb.createSheet("new sheet");
            int sheetRow = 0;
            //循环取列表中的值
            for (int i = 0; i < dataList.size(); i++)
            {
                //定义子列表
                List subDataList = null;
                //获得列表中的对象
                Object listObject = dataList.get(i);
                //判断列表中的对象是否属于List类型
                if (listObject instanceof List)
                {
                    //将列表中的对象赋值给子列表
                    subDataList = (List)listObject;
                    if (subDataList != null && subDataList.size() > 0)
                    {
                        //建立新行
                        HSSFRow rowId = sheet.createRow((short)sheetRow);
                        //循环取子列表中的值
                        for (int j = 0; j < subDataList.size(); j++)
                        {
                            //建立新行
                            HSSFCell csCell = rowId.createCell((short)j);
                            //设置cell编码解决中文高位字节截断
                            csCell.setEncoding(HSSFCell.ENCODING_UTF_16);
                            //设置中西文结合字符串  
                            if (subDataList.get(j) instanceof Integer)
                            {
                                csCell.setCellValue(Double.parseDouble(subDataList.get(j).toString()));
                              
                            }
                            else
                            {
                                csCell.setCellValue((String)subDataList.get(j));
                            }
                           
                        }
                        //行号递增
                        sheetRow++;
                    }
                }
            }
        }
        catch (Exception ex)
        {
                   }
        return wb;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值