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();
        }
    }

解析

相关推荐
深漂的华哥37 分钟前
Ruoyi-Plus前后端分离场景下,数据加密传输
java·spring boot·后端·开源·maven·ruoyi
ly76891 小时前
JavaScript 从入门到进阶:核心语法、异步编程与工程化实践
开发语言·javascript·ecmascript
落魄大学生之流水线上谋生计2 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
for_ever_love__2 小时前
python基础语法学习: 闭包
开发语言·python·学习·闭包
ly76892 小时前
Python 全面入门:从核心语法到工程实践
开发语言·python
爱学习的小白柏3 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
艾伦_耶格宇3 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode
码匠许师傅3 小时前
【C++ 面试真题】30. 聊聊 C++ 的互斥锁与读写锁
java·c++·面试
沙盘客3 小时前
AFSIM 示例解读(03)· 六自由度飞行仿真 six_dof(下):机场运作与弹道导弹投送
java·javascript·经验分享
旋生万物3 小时前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf