专栏首页带你回家EXCLS 的导出 下载

EXCLS 的导出 下载

/**
     *  下载
     * @param response
     * @param request
     * @return
     * @throws Exception
     */
    /*@RequestMapping(value="downExels")
    public String typeExls(HttpServletResponse response
            ,HttpServletRequest request)throws Exception{
        
        
        // 获得要导出的数据集
        
        // 创建excel工作簿
        Workbook wb = new HSSFWorkbook();
        // 创建第一个sheet(页),并命名
        Sheet sheet = wb.createSheet("woxs");

        // 手动设置列宽。第一个参数表示要为第几列设;,第二个参数表示列的宽度,n为列高的像素数。
        sheet.setColumnWidth((short) 0, (short) (35.7 * 150));
        sheet.setColumnWidth((short) 1, (short) (35.7 * 150));
        sheet.setColumnWidth((short) 2, (short) (35.7 * 150));
        sheet.setColumnWidth((short) 3, (short) (35.7 * 100));
        sheet.setColumnWidth((short) 4, (short) (35.7 * 250));
        sheet.setColumnWidth((short) 5, (short) (35.7 * 150));
        sheet.setColumnWidth((short) 6, (short) (35.7 * 150));

        // 创建第一行
        Row row = sheet.createRow((short) 0);
        

        // 创建两种单元格格式
        CellStyle cs = wb.createCellStyle();
        CellStyle cs2 = wb.createCellStyle();
        // DataFormat df = wb.createDataFormat();

        // 创建两种字体
        Font f = wb.createFont();
        Font f2 = wb.createFont();

        // 创建第一种字体样式
        f.setFontHeightInPoints((short) 10);
        f.setColor(IndexedColors.RED.getIndex());
        f.setBoldweight(Font.BOLDWEIGHT_BOLD);

        // 创建第二种字体样式
        f2.setFontHeightInPoints((short) 10);
        f2.setColor(IndexedColors.BLACK.getIndex());
        f2.setBoldweight(Font.BOLDWEIGHT_BOLD);

        // 设置第一种单元格的样式
        cs.setFont(f);
        cs.setBorderLeft(CellStyle.BORDER_THIN);
        cs.setBorderRight(CellStyle.BORDER_THIN);
        cs.setBorderTop(CellStyle.BORDER_THIN);
        cs.setBorderBottom(CellStyle.BORDER_THIN);
        // cs.setDataFormat(df.getFormat("#,##0.0"));
        

        // 设置第二种单元格的样式
        cs2.setFont(f2);
        cs2.setBorderLeft(CellStyle.BORDER_THIN);
        cs2.setBorderRight(CellStyle.BORDER_THIN);
        cs2.setBorderTop(CellStyle.BORDER_THIN);
        cs2.setBorderBottom(CellStyle.BORDER_THIN);
 
        // 创建列(每行里的单元格)
        Cell cell = row.createCell(0);
        cell.setCellValue("用户名");
        cell.setCellStyle(cs);

        cell = row.createCell(1);
        cell.setCellValue("订单号");
        cell.setCellStyle(cs);

        cell = row.createCell(2);
        cell.setCellValue("兑换券序列号");
        cell.setCellStyle(cs);

        cell = row.createCell(3);
        cell.setCellValue("兑换券金额");
        cell.setCellStyle(cs);

        cell = row.createCell(4);
        cell.setCellValue("兑换券类型名称");
        cell.setCellStyle(cs);

        cell = row.createCell(5);
        cell.setCellValue("使用时间");
        cell.setCellStyle(cs);

        cell = row.createCell(6);
        cell.setCellValue("使用结束日期");
        cell.setCellStyle(cs);

        DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        
        for (short i = 0; i < 5; i++) {

            // Row 行,Cell 方格 , Row 和 Cell 都是从0开始计数的
            // 创建一行,在页sheet上
            row = sheet.createRow((short) i + 2);
            // 在row行上创建一个方格
            cell = row.createCell(0);
            cell.setCellValue("123");
            cell.setCellStyle(cs2);

            cell = row.createCell(1);
            cell.setCellValue("ww");
            cell.setCellStyle(cs2);

            cell = row.createCell(2);
            cell.setCellValue("123");
            cell.setCellStyle(cs2);

            cell = row.createCell(3);
            cell.setCellValue("22");
            cell.setCellStyle(cs2);

            cell = row.createCell(4);
            cell.setCellValue("wo de ");
            cell.setCellStyle(cs2);

            cell = row.createCell(5);
            cell.setCellValue("s");
            cell.setCellStyle(cs2);

            cell = row.createCell(6);
            cell.setCellValue("123");
            cell.setCellStyle(cs2);
        }

        ByteArrayOutputStream os = new ByteArrayOutputStream();

        try {
            wb.write(os);
        } catch (IOException e) {
            e.printStackTrace();
        }

        byte[] content = os.toByteArray();
        InputStream is = new ByteArrayInputStream(content);

        // 设置response参数,可以打开下载页面
        response.reset();
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        response.setHeader("Content-Disposition", "attachment;filename=" + new String(("ss".toString() + ".xls").getBytes(), "iso-8859-1"));

        ServletOutputStream out = response.getOutputStream();

        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;

        try {

            bis = new BufferedInputStream(is);
            bos = new BufferedOutputStream(out);

            byte[] buff = new byte[2048];
            int bytesRead;

            // Simple read/write loop.
            while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
                bos.write(buff, 0, bytesRead);
            }

        } catch (final IOException e) {
            throw e;
        } finally {
            if (bis != null)
                bis.close();
            if (bos != null)
                bos.close();
        }
        return null;
    
}*/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 7款开源java反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程...

    斯文的程序
  • Windows环境 springboot+dubbo+zookerper 实现相互调用

    windows环境springboot+dubbo+zookerper实现相互调用

    斯文的程序
  • Java 开发者不容错过的 12 种高效工具 转

    Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中...

    斯文的程序
  • 再简单说说UITableView中Cell的复用

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • R语言学习 - 箱线图一步法

    箱线图 - 一步绘制 绘图时通常会碰到两个头疼的问题: 有时需要绘制很多的图,唯一的不同就是输入文件,其它都不需要修改。如果用R脚本,需要反复替换文件名,繁琐又...

    生信宝典
  • Java大数据:数据库开发从入门到精通

    在Java大数据开发任务当中,数据存储是非常关键的一环,涉及到分布式文件系统、分布式数据库,数据库是后端系统当中支持数据存储的重要组件。今天我们就来聊聊Java...

    成都加米谷大数据
  • 论文笔记系列】AutoML:A Survey of State-of-the-art (上)

    以往的模型都是靠大佬们不断试错和调参炼丹炼出来的,而且不同场景或者不同类型的数据集又得设计不同的网络模型,而我等穷&菜鸡在设计模型的天赋和计算资源上都比不过大佬...

    marsggbo
  • 《Kotlin极简教程》第一章 Kotlin简介100% interoperable with Java™

    JetBrains开源其Kotlin语言 基于JVM的新编程语言。 Kotlin,类似 Xtend 一样,旨在提供一种更好的 Java 而非重建整个新平台。这...

    一个会写诗的程序员
  • 【论文笔记系列】AutoML:A Survey of State-of-the-art (上)

    以往的模型都是靠大佬们不断试错和调参炼丹炼出来的,而且不同场景或者不同类型的数据集又得设计不同的网络模型,而我等穷&菜鸡在设计模型的天赋和计算资源上都比不过大佬...

    marsggbo
  • Java基础系列目录

    山禾说

扫码关注云+社区

领取腾讯云代金券