zoukankan      html  css  js  c++  java
  • web 文件下载

    response.reset();
    response.setContentType("octets/stream");
    response.addHeader("Content-Disposition","attachment;filename=test.xls");
    OutputStream os = response.getOutputStream();
    // 第一步,创建一个webbook,对应一个Excel文件
    HSSFWorkbook wb = new HSSFWorkbook();
    // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
    HSSFSheet sheet = wb.createSheet("学生表一");
    // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
    HSSFRow row = sheet.createRow((int) 0);
    // 第四步,创建单元格,并设置值表头 设置表头居中
    HSSFCellStyle style = wb.createCellStyle();
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式

    HSSFCell cell = row.createCell((short) 0);
    cell.setCellValue("学号");
    cell.setCellStyle(style);
    cell = row.createCell((short) 1);
    cell.setCellValue("姓名");
    cell.setCellStyle(style);
    cell = row.createCell((short) 2);
    cell.setCellValue("年龄");
    cell.setCellStyle(style);
    cell = row.createCell((short) 3);

    // 第五步,写入实体数据 实际应用中这些数据从数据库得到,

    for (int i = 0; i < 65000; i++)
    {
    row = sheet.createRow((int) i + 1);
    // 第四步,创建单元格,并设置值
    row.createCell((short) 0).setCellValue("stu"+i);
    row.createCell((short) 1).setCellValue("战三"+i);
    row.createCell((short) 2).setCellValue("hello");
    }
    // 第六步,将文件存到指定位置
    try
    {
    wb.write(os);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }

  • 相关阅读:
    SQL Server数据库读写分离提高并发性
    静态方法与实例化方法区别
    消息队列MQ对比
    【Python】socket模块应用
    【Matplotlib】利用Python进行绘图
    【Git】简单使用
    【HTTPS】自签CA证书 && nginx配置https服务
    【HTTP】 认证和单点登录 【瞎写的…】
    【Linux】防火墙与CentOS中的iptables
    【Ansible】的python api
  • 原文地址:https://www.cnblogs.com/Wen-yu-jing/p/4250927.html
Copyright © 2011-2022 走看看