java生成Excel表格

java 复制代码
public HSSFWorkbook CreateJZZJSList()  {
        // 绘制Excel
        String fileName = "自动分析详情";
        HSSFWorkbook wb = new HSSFWorkbook();//创建工作相簿对象
        HSSFSheet sheet = wb.createSheet(fileName); // --->创建了一个工作簿

        sheet.setDefaultRowHeight((short) 600); // ---->有得时候你想设置统一单元格的高度,就用这个方法
        sheet.setDefaultColumnWidth((short) 40);

        sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 6));// 表格样式固定为15列,此处合并列
        // 绘制第一行
        HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始
        HSSFCell title = firstrow.createCell(0);

        HSSFCellStyle style = wb.createCellStyle();
        title.setCellStyle(style);
        title.setCellValue(fileName);

        // 绘制标题行
        HSSFRow colTitlerow5 = sheet.createRow(1); // 绘制第2行
        HSSFCell colTitlerowCol5 = colTitlerow5.createCell(0);
        colTitlerowCol5.setCellStyle(style);
        colTitlerowCol5.setCellValue("序号");

        HSSFCell colTitlerowCol6 = colTitlerow5.createCell(1);
        colTitlerowCol6.setCellStyle(style);
        colTitlerowCol6.setCellValue("单位名称");

        //查询数据以行形式便利
        for (int i = 0; i < 6; i++) {

            HSSFRow row = sheet.createRow(i + 2);//创建行

            HSSFCell row5 = row.createCell(0);//创建列
            row5.setCellStyle(style);
            row5.setCellValue((i + 1));

            HSSFCell row6 = row.createCell(1);//创建列
            row6.setCellStyle(style);
            row6.setCellValue(("我是第二列"));

  }
        return wb;
    }

2.再写一个进入类

java 复制代码
    @RequestMapping("/inser")
    public void btnDaoChuExcel_Click(HttpServletResponse response)   {
        // 生成Xls并导出
        String xlsName = "自动分析详情表";
        HSSFWorkbook wb = CreateJZZJSList();
      try {
            response.reset();
            String fileName = new String((xlsName + ".xls").getBytes("gb2312"), "ISO8859-1");
            response.setContentType("application/x-msdownload");
            response.setHeader("Content-disposition", "attachment; filename=" + fileName);
            OutputStream out = response.getOutputStream();
            wb.write(out);
            out.flush();
            out.close();
            wb.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

解析

相关推荐
骆驼爱记录9 小时前
Word样式检查器使用指南
自动化·word·excel·wps·新人首发
蜡笔小马9 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
IOsetting9 小时前
金山云主机添加开机路由
运维·服务器·开发语言·网络·php
kali-Myon9 小时前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
我是咸鱼不闲呀9 小时前
力扣Hot100系列20(Java)——[动态规划]总结(下)( 单词拆分,最大递增子序列,乘积最大子数组 ,分割等和子集,最长有效括号)
java·leetcode·动态规划
清水白石0089 小时前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
林开落L9 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
牛奔9 小时前
Go 是如何做抢占式调度的?
开发语言·后端·golang
符哥20089 小时前
C++ 进阶知识点整理
java·开发语言·jvm
小猪咪piggy9 小时前
【Python】(4) 列表和元组
开发语言·python