首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apache POI -如何在Grails应用程序中提供用于下载的excel文件

Apache POI是一个用于操作Microsoft Office格式文件(如Excel、Word和PowerPoint)的Java库。它提供了一组API,可以读取、写入和操作这些文件。

在Grails应用程序中提供用于下载Excel文件的步骤如下:

  1. 首先,确保在Grails项目的构建配置文件(build.gradle)中添加Apache POI的依赖项。可以通过在dependencies部分添加以下代码来实现:
代码语言:txt
复制
compile 'org.apache.poi:poi:4.1.2'
compile 'org.apache.poi:poi-ooxml:4.1.2'
  1. 创建一个用于生成Excel文件的服务或控制器。可以使用Apache POI的API来创建和填充Excel工作簿。
代码语言:txt
复制
import org.apache.poi.ss.usermodel.*
import org.apache.poi.xssf.usermodel.XSSFWorkbook

class ExcelService {
    Workbook createExcel() {
        Workbook workbook = new XSSFWorkbook()
        Sheet sheet = workbook.createSheet("Sheet1")

        // 创建标题行
        Row headerRow = sheet.createRow(0)
        headerRow.createCell(0).setCellValue("姓名")
        headerRow.createCell(1).setCellValue("年龄")

        // 创建数据行
        Row dataRow = sheet.createRow(1)
        dataRow.createCell(0).setCellValue("张三")
        dataRow.createCell(1).setCellValue(25)

        return workbook
    }
}
  1. 在控制器中调用Excel服务,并将生成的Excel文件作为响应返回给用户。
代码语言:txt
复制
import grails.plugin.springsecurity.annotation.Secured

class ExcelController {
    @Secured(['ROLE_USER'])
    def downloadExcel() {
        ExcelService excelService = new ExcelService()
        Workbook workbook = excelService.createExcel()

        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
        response.setHeader("Content-disposition", "attachment; filename=example.xlsx")

        workbook.write(response.outputStream)
        workbook.close()
        response.outputStream.flush()
    }
}

在上述示例中,我们创建了一个名为ExcelService的服务,用于生成Excel文件。然后,在ExcelController控制器的downloadExcel动作中,调用ExcelService来创建Excel文件,并将其作为响应返回给用户。注意设置响应的Content-Type为Excel文件类型,并设置Content-disposition头部,以便浏览器将其作为下载文件处理。

推荐的腾讯云相关产品是腾讯云对象存储(COS),它提供了高可靠性、低成本的对象存储服务,适用于存储和管理各种类型的文件。您可以将生成的Excel文件上传到腾讯云对象存储,并通过生成的URL链接提供给用户下载。

腾讯云对象存储产品介绍链接地址:https://cloud.tencent.com/product/cos

请注意,以上答案仅供参考,具体实现方式可能因您的项目结构和需求而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

建立数据驱动,关键字驱动和混合Selenium框架这些你了解吗

因此,我们使用Apache POI 读取/写入任何Microsoft Office文档。您可以从此处下载Apache POI(JAR文件集)。...TestNG数据提供程序将处理主要代码和数据集之间协调,TestNG数据提供程序 是一个库,它是Apache POI JAR文件一部分。...它是用于测试航班预订应用程序登录功能简单代码。...在这种方法,我创建了另一个名为“ ReadExcelFile”对象实例。在实例化该对象时,我已经提供了包含数据excel文件路径。...我已经导入了Apache POI XSSF库,该库用于读取数据或将数据写入excel文件。在这里,我创建了一个构造函数(相同方法对象)以传递值:工作表编号,行编号和列编号。

93820

终于有一款组件可以全面超越Apache POI

Office 和 Acrobat 组件情况下,提供快速生成、加载、编辑和保存 Excel、PDF、Word文档功能。...GrapeCity Documents 由四种针对不同文档和开发框架组件构成: 适用于所有 .NET 平台 Excel 文档 API —— GcExcel(.NET) 适用于所有 Java 平台...Apache POI,支持公式数量很少(虽然Apache POI网站罗列了280多种可评估公式,但在API仅显示为157种)。...但是,可以使用编程方式创建相应CSV / HTML文件。 11. 渐变填充 GcExcel支持渐变填充,而Apache POI不支持。 12....打开并保存一个20.5MB Excel文件,其中包含了许多数据、公式和单元格格式,结果如下: GcExcel 用时不超过4.9S ;Apache POI 则达到10S左右 GcExcel 内存消耗为

3.3K10

何在Selenium自动化Chrome浏览器模拟用户行为和交互?

图片Selenium是一个用于自动化Web应用程序测试工具,它可以模拟真实用户在浏览器中进行各种操作,点击、输入、滚动等。...以下是一个示例代码,实现抖音关键词搜索,并将搜索获取结果进行分析,存入Excel文件:import org.apache.poi.ss.usermodel....POIJava库,用于操作Excel文件在WebDriver对象创建后,添加一个隐式等待,用于等待页面元素加载完成使用WebDriver对象findElement方法,根据元素id或class属性...,获取其标题、作者、点赞数、评论数等信息,并存入一个List创建一个Workbook对象,用于表示一个Excel文件,并创建一个Sheet对象,用于表示一个工作表在Sheet对象创建第一行,并设置单元格值为标题...、作者、点赞数、评论数等字段名在Sheet对象创建后续行,并根据List数据,设置单元格值为对应视频信息使用FileOutputStream对象,将Workbook对象写入到一个指定文件总结本文介绍了如何在

70131

EasyExcel与POI对比及实现百万数据导入导出基础示例

读写功能: - Apache POI 提供了丰富 API 来读取和创建这些文件格式,允许 Java 开发者直接在代码打开、修改和保存 Office 文档,而不需启动实际 Office 应用程序...Apache POI 是一个强大工具集,使得 Java 开发者能够在不需要安装 Microsoft Office 环境下进行 Office 文件编程操作,广泛应用于数据迁移、报表生成、数据分析等各种业务场景...两者对比 EasyExcel 和 Apache POI 都是 Java 中用于处理 Excel 文件流行库,但它们在设计目标、性能和易用性上存在一定差异: 1....设计理念与性能优化: - Apache POI 是一个全面的 Office 文件处理库,对于 Excel 文件有非常细致和完整操作支持,适用于各种复杂场景。...灵活性与扩展性: - Apache POI 提供功能全面,能够应对各种定制化需求,适合对 Excel 文件有深度定制和精细控制场景。

7610

java实现Excel导入导出功能

Java是一种流行编程语言,广泛应用于各种领域,包括软件开发、Web应用程序、桌面应用程序等。其中,在业务应用开发Excel文件导入导出功能也非常常见,可以大大提高业务效率。...在本篇文章,我们将讨论如何使用Java实现Excel导入导出功能。一、Excel文件读取在Java,我们可以使用Apache POI库来读取Excel文件。...POI提供了一组Java类和方法,可以访问和处理Microsoft Office格式文档,包括Excel文件。...以下是使用POI库来写入Excel文件基本步骤:创建工作簿首先,我们需要创建一个工作簿对象,用于表示Excel文件。...// 创建工作簿对象Workbook workbook = new XSSFWorkbook();创建工作表接下来,我们需要创建一个工作表对象,用于表示Excel文件工作表。

2.2K20

Java进阶-常用Excel处理库比较

2、Apache POI 功能支持读写Excel文件:可以创建新或处理现有的Excel文件。支持公式计算:自动计算和更新Excel公式。...下面是一个使用Apache POIExcel文件创建图表示例代码。此例我们将创建一个简单柱状图,展示两组数据对比。import org.apache.poi.ss.usermodel....这个库虽然功能不如Apache POI丰富,但在处理小型或中等复杂度Excel文件时,它轻量级特性确保了快速执行效率和较低资源消耗。...六、几种库之间比较不同Excel处理库之间存在各自优势和短板,我们需要在实际开发根据具体需求进行权衡,处理文件大小、所需功能支持以及预期性能等级选择合适Excel处理库。...然而,其性能在处理极大数据集时可能会受到影响,因为它在内存处理数据。JExcelAPI 提供了更轻量级解决方案,适用于简单.xls文件处理。

22822

Apache POI使用详解

一 :简介 开发中经常会设计到excel处理,导出Excel,导入Excel到数据库,操作Excel目前有两个框架,一个是apache poi, 另一个是 Java Excel Apache...POI 简介是用Java编写免费开源跨平台 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio...是一开放源码项目,通过它Java开发人员可以读取Excel文件内容、创建新Excel文件、更新已经存在Excel文件。...jxl 由于其小巧 易用特点, 逐渐已经取代了 POI-excel地位, 成为了越来越多java开发人员生成excel文件首选。...由于apache poi 在项目中用比较多,本篇博客只讲解apache poi,不讲jxl 二:Apache POI常用类 HSSF - 提供读写Microsoft Excel XLS格式档案功能

3.3K10

每日一博 - Excel导入导出那点事儿

POI 想到数据导入导出,大部分人最会想到apachepoi框架 以及Excel版本问题。...提供对 PowerPoint 演示文稿读写支持,可以读取和修改 PPT 文本、表格、图片等内容。 提供对 Outlook 电子邮件支持,可以创建和修改 Outlook 邮件文件。...支持其他 Microsoft Office 文件格式, Visio、Publisher 等。...因为所创建book,Sheet,row,cell等在写入到Excel之前,都是存放在内存 ---- SXSSFWorkbook 从POI 3.8版本开始,提供了一种基于XSSF低内存占用SXSSF...方式: 优点: 一般不会出现内存溢出(它使用了硬盘来换取内存空间,当内存数据达到一定程度这些数据会被持久化到硬盘存储起来,而内存都是最新数据), 支持大型Excel文件创建(存储百万条数据轻轻松松

18030

Apache POI与easyExcel:Excel文件导入导出技术深度分析

一、Apache POI:全面但重量级解决方案 Apache POI是一个历史悠久且功能全面的开源项目,用于处理Microsoft Office格式文件,包括Excel。...在导入Excel文件时,Apache POI会将整个文件加载到内存,然后提供API来访问和操作文件各个元素,单元格、行、列等。...导出Excel文件时,Apache POI同样需要将所有数据加载到内存,然后一次性写入文件。这种方式在处理大量数据时可能会变得非常缓慢,并且需要大量内存资源。...POI提供了丰富且灵活API,允许开发者以多种方式操作Excel文件。...四、总结 Apache POI和easyExcel都是优秀Java库,用于处理Excel文件Apache POI以其全面性和灵活性著称,提供了对Excel文件全面支持。

44510

在你浏览器构建和共享开发人员环境

Codenvy提供了20多个预先准备好,可以使用环境(此外,所有的基础镜像总是在Docker缓存,所以你不需要等待基本镜像拖动)。...在Codenvy构建Dockerfile与在本地构建Dockerfile没有区别——都是相同指令,相同规则,相同输出。还有几个特定Codenvy功能,项目源注入到映像。...添加了附加源代码后,你可以执行grails命令,打包应用程序并使用servlet容器部署工件(你可以下载Tomcat或使用我们基本映像中最常用servlet容器安装)。这很简单。...你可以为相同应用程序创建多个配置,例如一个用于编译和运行,另一个用于PaaS部署。是的,自定义运行时系统可以充当应用程序部署环境。...你项目,包括自定义环境(自定义Docker文件)和设置将被编码到一个可与其他人共享URL上。它可以只是一个URL,或是一个友好按钮,这个按钮可以由系统提供,也可以带有你标志。

4.4K90

JavaScript打印Excel、Word

JavaScript调用本地打印机,打印Excel、Word文件 ---- 之前写过一篇文章,使用java调用打印机打印Excel文件: java调用打印机:http://blog.csdn.net...://download.csdn.net/detail/wangxiaoan1234/9909138 后台Excel转换HTML类: 类文件下载地址:http://download.csdn.net...文件: ---- 生成html页面: ---- js打印设置: ---- 打印pdf文件: 注意: 当图表比较宽,所选纸张会出现只打印部分页面情况。...转HTML类: 类文件下载地址:http://download.csdn.net/detail/wangxiaoan1234/9909154 package com.srie.util.excel;...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.9K20

操作MS Execl电子表格常用JAR包

0x02:Apache POI Apache POIApache软件基金会开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写功能。...Word格式档案功能 HSLF - 提供读写Microsoft PowerPoint格式档案功能 HDGF - 提供读写Microsoft Visio格式档案功能 Apache POI功能非常强大...POI进行了二次封装,屏蔽了Apache POI那些复制API。...0x04:easyexcel Java解析、生成Excel比较有名框架有Apache POI、jxl。...但都存在一个严重问题就是非常耗内存,POI有一套SAX模式API可以一定程度解决一些内存溢出问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存完成,内存消耗依然很大

98310

sql2java-excel(二):基于apache poi实现数据库表导出spring web支持

这几年一直在根据工作需要维护升级,最近项目中需要对数据库记录提供导出excel功能。 就开始学习apachePOI,参照网上示例实现了单张表导出。...那么虽然原始DeviceBean记录是有@ExcelColumn,@ExcelSheet注解提供Excel导出配置,但Excel 导出切面在执行过程收到数据记录类型为Map(JSONObject...,@ExcelSheet提供Excel导出配置参数。...每个列高度 单位为字符 width 导出时在excel每个列宽 单位为字符 suffix 文字后缀,% 90 变成90%【暂未支持】 defaultValue 当值为空时,字段默认值【...{} 默认字段输出白名单,此字段用于给前端提供默认输出字段及顺序 getParameterArgName getParameter Spring Controller 服务方法获取excel导出参数开关参数名

1.5K40

Java程序员应该知道20个有用

许多应用程序需要提供Excel中导出数据功能,如果必须从Java应用程序执行相同操作,则需要Apache POI API。 ? 这是一个非常丰富库,允许你 从Java程序读取和写入XLS文件。...Java应用程序读取Excel文件工作示例。...一些流行是Commons Pool和DBCP。 在Web应用程序,它Web服务器通常提供这些功能,但在核心Java应用程序,你需要将这些连接池库包含在类路径以使用数据库连接池。...PDF库 与Microsoft Excel类似,PDF库是另一种普遍存在格式。如果你需要在应用程序中支持PDF功能,例如 导出数据到PDF文件,则可以使用iText和Apache FOP库。...它通过提供特定类型映射,集合,列表和优先级队列来扩展Java集合框架,较小内存占用,快速访问和插入; 它还提供大型(64位)数组,集和列表,以及用于二进制和文本文件快速实用I / O类。

78630

POI操作Excel入门案例(Spring boot)

一、简介 Apache POIApache软件基金会免费开源跨平台 Java API,POI提供API给Java程序对Microsoft Office格式(Excel、WORD、PowerPoint...二、POI结构说明 HSSF:提供读写Microsoft Excel XLS格式档案功能。 XSSF:提供读写Microsoft Excel OOXML XLSX格式档案功能。...style):设置单元格样式,例如字体、加粗、格式化 setCellFormula(String formula):设置计算公式,计算结果作为单元格值,也提供了异常常用函数,求和"sum...>3.8 2、Demo1:生成EXCEL表格 一个入门小Demo,将文件放在桌面或者指定绝对路径,文件名称为testexcel.xls文件,即可;...文件 3、Demo2:导入EXCEL表格 从本地导入EXCEL表格内容,并将结果封装到List集合,为了方便阅读,这里把异常都抛出,实际情况下,应该对异常进行捕获,并进行处理; import

38510

7 行代码优雅地实现 Excel 文件导出功能?

下载示例代码 八、需要注意点 九、总结 一、前言 关于导出 Excel 文件,可以说是大多数服务中都需要集成功能。...用 Apache 开源框架 poi, 或者 jxl 都可以实现啊。面向百度编程,把代码模板 copy 下来,根据自己业务再改改,能有多难? 嗯.....二、Apache poi、jxl 缺陷 在说如何实现之前,我们先来讨论一下传统 Excel 框架不足!...除了上面说Apache poi、jxl 都存在生成 excel 文件不够简单优雅快速外,它们都还存在一个严重问题,那就是非常耗内存,严重时会导致内存溢出。...以下是官方介绍: 四、EasyExcel 解决了什么 主要来说,有以下几点: 传统 Excel 框架, Apache poi、jxl 都存在内存溢出问题; 传统 excel 开源框架使用复杂、繁琐;

2.3K31

Java使用 POI 操作Excel

这时候我们可以考虑使用准备好 Excel 模板,这样我们只需关注模板数据即可。 制作并加载Excel 模板,填充数据响应到浏览器(下载) ?...但是批量导入需要代码解析固定格式模板,因此我们最好给用户提供模板下载功能。我们同样以导入用户表为例: 统一 excel 模板格式 ?...当百万数据级别的Excel 导出时,随着表格不断创建,内存对象越来越多,直至内存溢出。Apache Poi 提供了 SXSSFWork 对象,专门用于处理大数据量 Excel 报表导出。...在实例化 SXSSFWork 这个对象时,可以指定在内存中所产生 POI 导出相关对象数量(默认 100),一旦内存对象个数达到这个指定值时,就将内存这些对象内容写入到磁盘(XML 文件格式...它适用于数据量级比较大情况 第一步:导入POI坐标后创建处理器 /**这个类谁用谁写(读取excel内容要做事,实现接口,重写方法) * @author Mr.song * @date 2019

5.9K31
领券