import jxl.Workbook
import jxl.Sheet
/**
* 使用jxl实现将数据导入Excel表
*/
class ExcelExportController {
/**
* 用FORM提交请求action=exportData
*/
def exportData = {
def products = Products.list() //导出产品表数据
if (products?.size() > 0) {
render '没有数据'
return
}
def myParams = [:]
myParams.fileName = "产品表"
myParams.sheetName = "产品表"
myParams.rowData = products
myParams.response = response
myParams.columnNames = ['产品ID','产品名','产品类型','产品价格'] //字段名
excelExport(response, myParams) {wsheet, rowData-> //{sheet, rowData->......}作为闭包传给excelExport()方法
rowData.eachWithIndex {object, index->
jxl.write.Label wlabelContent
/**
* 产品ID
*/
wlabelContent = new jxl.write.Label(0, index + 1, object.id)
wsheet.addCell(wlabelContent)
/**
* 产品名
*/
wlabelContent = new jxl.write.Label(1, index + 1, object.productName)
wsheet.addCell(wlabelContent)
/**
* 产品类型
*/
wlabelContent = new jxl.write.Label(2, index + 1, object.productType)
wsheet.addCell(wlabelContent)
/**
* 产品价格
*/
wlabelContent = new jxl.write.Label(4, index + 1, object.productPrice)
wsheet.addCell(wlabelContent)
}
}
}
/**
* closure闭包指向excelExport(response, myParams)后面的代码
*/
def excelExport(response, params, Closure closure) {
def fileName = new String("${params.fileName}".getBytes("UTF-8"),"8859_1")
def os = response.getOutputStream()
response.reset()
response.setHeader("Content-disposition", "attachment;filename=${fileName}.xls")
response.setContentType("application/msexcel")
jxl.write.WritableWorkbook wbook = Workbook.createWorkbook(os)
jxl.write.WritableSheet wsheet = wbook.createSheet("${params.sheetName}", 0)
params.columnNames.eachWithIndex {object, index->
jxl.write.Label wlabel0
wlabel0 = new jxl.write.Label(index, 0, object) //index:列号 0:行号 object:字段名
wsheet.addCell(wlabel0)
}
closure(wsheet, rowData) //闭包调用,把产品表中的数据写到sheet里
try {
wbook.write()
response.flushBuffer()
wbook.close()
os?.close()
} catch (Exception e) {
println "exception"
}
}
}
分享到:
相关推荐
本文介绍了如何使用jxl将二维数据数组写入Excel的工作表中,包括创建Workbook和Sheet对象,以及填充单元格和保存文件的基本步骤。在实际项目中,可以根据具体需求进一步扩展这些基本操作,实现更复杂的功能。
在Java编程环境中,有时...通过创建和操作`Workbook`、`Sheet`和`Cell`对象,我们可以方便地将数据导入到Excel中,满足各种业务需求。在实际项目中,可以结合具体的数据结构和业务逻辑,对这个基本示例进行扩展和优化。
导入Excel文件主要是读取其中的数据。以下是一段基本的导入代码示例: ```java import jxl.*; public class ExcelImporter { public static void main(String[] args) { try { Workbook workbook = Workbook....
使用Jxl对Excel进行导入导出,其中包含设置单元格样式以及数据有效性。
本文将深入探讨如何使用JXL库来实现Excel的导入和开发。 JXL是一个开源的Java库,它允许开发者通过Java代码与Microsoft Excel文件进行交互。JXL提供了对Excel文件读取、写入和修改的强大功能,支持多种版本的Excel...
在Java编程环境中,处理Excel数据是一项常见的任务,而`jxl`库则为开发者提供了方便的接口来实现Excel文件的导入和导出。`jxl`是一个开源的Java库,它允许用户读取、写入和修改Excel文件,无需依赖Microsoft Excel...
本文将深入探讨如何利用JXL进行数据导入Excel的各类方法,以实现自动化数据处理。 #### JXL的关键类和接口 在JXL中,有几个核心类和接口对于Excel文件的生成至关重要: 1. **Workbook**:这是一个抽象类,相当于...
本文将深入探讨一个基于JXL库的Excel数据导入工具,帮助开发者更高效地处理Excel数据。 JXL(Java Excel API)是一款开源的Java库,专门用于读写Microsoft Excel文件。它提供了丰富的API,使得在Java程序中处理...
总之,使用Java和jxl库可以方便地处理Excel文件,配合JDBC可以将数据导入MySQL数据库。通过合理设计和优化,这个过程可以高效且可靠地进行。在处理大量数据时,还要注意数据库性能和并发控制,确保系统的稳定性和...
以上就是关于使用JXL和Apache POI实现Excel导入导出的基本知识。根据实际需求,你可以结合这两个库的功能,灵活地处理各种Excel文件操作。在实际项目中,通常会根据性能、功能需求以及文件兼容性等因素选择适合的库...
java jxl 通过excel模板创建新文件并将数据导入excel,实现按行、列插入数据
Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...
本篇文章将详细介绍如何利用JXL将数据库的数据导出到Excel。 首先,要使用JXL,你需要在项目中引入其依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
标题“利用jxl把excel中的数据导入数据库”指的是使用Java Excel API(jxl)这个库来读取Excel文件中的数据,并将这些数据批量地导入到关系型数据库中。这是一个常见的需求,特别是在处理大量结构化数据时,例如进行...
标题中的“用jxl实现java对Excel表格的增删改查”指的是使用JXL库来完成对Excel文件的基本操作:增加数据(Add)、删除数据(Delete)、修改数据(Modify)以及查询数据(Query)。以下是对这些操作的详细说明: 1....
至于压缩包中的“carsManage.xls”,这可能是一个示例Excel文件,用于演示如何使用jxl进行汽车管理相关的数据导入或导出。文件内容可能包括汽车的品牌、型号、生产日期等信息,开发者可以以此为模板,学习如何用jxl...
导入时,通常会解析Excel文件,将数据映射到Java对象,然后存储在数据库中;导出时,从数据库获取数据,生成Excel文件。 为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中...
总结来说,JXL库为Java开发者提供了强大的Excel操作能力,无论是在数据导入还是导出方面,都能满足大部分需求。通过以上步骤,你可以开始尝试使用JXL处理Excel文件了。在实际开发中,根据具体业务场景进行调整和优化...
本篇将详细介绍如何使用`jxl`库进行Excel的操作,包括导入、导出、读取以及更新Excel内容。 首先,让我们了解一下`jxl`库。`jxl`是Java Excel API的缩写,它提供了一个方便的接口,允许开发者以编程方式处理Excel...