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

解析

相关推荐
沐知全栈开发4 分钟前
Pandas 相关性分析
开发语言
步步为营DotNet4 分钟前
深深度探索.NET 中HttpClient的复用策略:提升性能与稳定性的关键度解析.NET 中IServiceCollection:构建可扩展服务体系的关键
java·网络·.net
牛马11116 分钟前
WidgetsFlutterBinding.ensureInitialized()在 Flutter Web 端启动流程的影响
java·前端·flutter
宠友信息22 分钟前
面向多端部署的社区平台技术方案:uniapp 与java微服务架构的工程化实践
java·微服务·微信·架构·uni-app·springboot
YanDDDeat1 小时前
Prometheus + Grafana 搭建应用监控体系
java·后端·eureka·grafana·prometheus
kylezhao20191 小时前
C#读取字节数组某个位的值
开发语言·c#
诗酒当趁年华1 小时前
Token刷新策略
java
资生算法程序员_畅想家_剑魔1 小时前
Java常见技术分享-26-事务安全-锁机制-作用与分类
java·开发语言·数据库
Vic101011 小时前
PostgreSQL 中 nextval() 的线程安全性解析
java·数据库·postgresql