- 浏览: 113713 次
- 性别:
- 来自: 济南
-
最新评论
-
anttu:
groovy -
MeltingSnower:
基于ext的?
grails +zkoss -
mymelon:
代码能不能放出来看看啊。
grails +zkoss -
dellsoft:
用的csc365kl 写道请问你的控制层是怎么处理的 是用的g ...
grails +zkoss -
csc365kl:
请问你的控制层是怎么处理的 是用的grails的 还是 zk的 ...
grails +zkoss
用 poi 来导出 excel 文件
在你的 domaincontroller 中加入
这个好处就是导出的表头信息通过 properties来获取!
import org.codehaus.groovy.grails.commons.* import org.apache.poi.hssf.usermodel.HSSFWorkbook import org.apache.poi.hssf.usermodel.HSSFSheet import org.apache.poi.hssf.usermodel.HSSFRow import org.apache.poi.hssf.usermodel.HSSFCell import org.codehaus.groovy.grails.commons.GrailsDomainClass import org.codehaus.groovy.grails.web.converters.ConverterUtil import org.springframework.web.servlet.support.RequestContextUtils as RCU import org.codehaus.groovy.grails.scaffolding.DomainClassPropertyComparator; import org.springframework.context.MessageSource import org.apache.poi.hssf.usermodel.HSSFCellStyle import org.apache.poi.hssf.usermodel.HSSFFont import org.apache.poi.hssf.util.HSSFColor; class XlsExportService { // def messageSource MessageSource messageSource boolean transactional = true // def config = ConfigurationHolder.config // def domainName def xlsExport(out, request, domain, datas) { def excludedProps = ['id', 'version'] def column = [] def titles = [] def outProperties def locale = RCU.getLocale(request) // def text def args def domainName = domain.toLowerCase() GrailsDomainClass domainClass = ConverterUtil.getDomainClass(domain) if (domainClass != null) { outProperties = domainClass.properties.findAll {!excludedProps.contains(it.name)} } Collections.sort(outProperties, new DomainClassPropertyComparator(domainClass)) outProperties.each { column << "${it.name}" def text = messageSource.getMessage( "${domainName}.${it.name}".toString(), args == null ? null : args.toArray(), "${domainName}.${it.name}".toString(), locale) titles << text } HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFRow row HSSFCell cell HSSFCellStyle style = wb.createCellStyle() HSSFFont font = wb.createFont() font.setFontHeightInPoints((short)12) font.setFontName("宋体") font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD) style.setFont(font) style.setAlignment(HSSFCellStyle.ALIGN_CENTER) style.setFillBackgroundColor(HSSFColor.ORANGE.index) // style.setFillPattern(HSSFCellStyle.) // set the title row = sheet.createRow((short) 0); titles.eachWithIndex {title, i -> cell = row.createCell((short) (i)); cell.setCellStyle(style) cell.setCellValue(title); } // set the data datas.eachWithIndex {data, i -> row = sheet.createRow((short) (i+1)); column.eachWithIndex {p, j -> row.createCell((short) (j)).setCellValue(data."${p}"); } } // Write the output to a file wb.write(out); out.close() } }
在你的 domaincontroller 中加入
def exportXls = { // def excludedProps = ['id', 'version'] // def column = [] // def titles = [] // def outProperties = [] // GrailsDomainClass domainClass = ConverterUtil.getDomainClass("Person"); // if (domainClass != null) { // domainClass.persistentProperties.each {p -> // outProperties << p.name // }; // // } // outProperties.each { // column << "${it}" // titles << message(code: "person.${it}") // } response.setHeader("Content-disposition", "attachment; filename=person.xls") response.setContentType("application/vnd.ms-excel") // ServletOutputStream f = response.getOutputStream(); xlsExportService.xlsExport(response.outputStream, request,"Person", Person.list()) // render(contextType:"application/vnd.ms-excel") }
这个好处就是导出的表头信息通过 properties来获取!
评论
4 楼
kapok_fly
2009-12-02
有个export plugin你可以try一下, 不过不能针对大数据量进行export.
可以自己改写.
可以自己改写.
3 楼
leon1509
2009-05-13
导出的只有title,没有数据啊?
2 楼
dellsoft
2008-07-14
你确认在你的controller中定义这个XlsExportService 吗
XlsExportService xlsExportService
XlsExportService xlsExportService
1 楼
ourfirebird
2008-07-13
不能执行:java.lang.NullPointerException: Cannot invoke method xlsExport() on null object
在controller中调用 xlsExportService.xlsExport(response.outputStream, request,"Person", Person.list())时,request参数如何赋值?
在controller中调用 xlsExportService.xlsExport(response.outputStream, request,"Person", Person.list())时,request参数如何赋值?
发表评论
-
Rescheduling a Quartz job programatically
2012-02-14 11:34 0In our current project we fa ... -
1.4M
2011-06-23 20:44 8601.4 版本后,如果用代理上网,需要设置代理,才能让grail ... -
groovy Ip地址表达式
2011-04-28 18:55 1616 -
change the default locale
2011-04-13 19:37 990... -
groovy
2010-08-09 14:40 1212def urls = ["ip1" ... -
grails + jquery grid plugin
2010-03-14 09:52 1556Jquery Grid Json 格式方法 http ... -
grails +zkoss 开发总结
2010-03-14 09:42 1575zk component develop 一、)jav ... -
grails 开发总结
2010-03-14 09:40 1627在使用grails 开发的过程,一些总结,随笔 ... -
grails +zkoss
2010-01-09 16:58 1319基于grails+zkoss应用 1)登录窗口 2)主 ... -
grails 跟踪 sql
2009-05-14 15:53 1061http://www.piragua.com/2009/06/ ... -
grails assgined the id
2009-05-09 22:29 1278使用hibernate 的自定义主键 impor ... -
grails 原始sql
2009-05-09 22:13 1264import groovy.sql.Sql; c ... -
hibernate custom generator
2009-05-09 20:54 1078public class CustomIdSequenceGe ... -
grails 1.1 Gorm 部分新特性提前知道
2008-10-30 17:21 1859说明:grails 1.1部分新特性,我只是看 grails ... -
grailsflow
2008-10-30 16:43 2455grailsflow 具体地址 http:/ ... -
grails 根据数据库自动生产 domains
2008-07-04 17:25 2975GenerateDataabase.groovy impo ... -
grails war 包定制
2008-07-04 17:18 1507在config.groovy 下面配置 grails.war ... -
grails datasource 中配置数据源用户名称和密码 加密
2008-07-04 17:16 2469在datasource.groovy password = Y ... -
grails 自定义 validator
2008-07-04 17:05 1165http://www.zorched.net/2008/01/ ... -
grails services transaction
2008-07-02 15:26 1648在 graisl 应用中,默认情况下,services 的事务 ...
相关推荐
Grails 出口插件是针对 Grails 框架的一个实用工具,主要用于方便地将数据导出到各种常见的文件格式,如 CSV、Excel 或 PDF。这个插件源自 SVN 仓库的一个原始版本,并在后续的发展中被分叉出来进行独立维护和更新,...
将交易搜索结果或所有交易导出到Excel要求Java 7或8运行应用程序克隆存储库,然后重命名示例DataSource.groovy文件。 git clone ...
codemirror版本:https://codemirror.net/5/doc/releases.html
外国电影演员识别系统源码分享
mf3010 打印扫描一体机驱动管理软件。
2024免费毕业设计成品,包括源码+数据库+往届论文资料 启动教程:https://www.bilibili.com/video/BV11ktveuE2d 讲解视频:https://www.bilibili.com/video/BV1YfkHYwEME 二次开发教程:https://www.bilibili.com/video/BV1Cw2rY1ErC
chrome-headless-shell-linux64-135.0.7004.0 (Canary).zip
DeepSeek大模型介绍与展望.pptx
英特尔的公版原理图和PCB,cadence版本
《单容水箱液位精准调控:模糊控制策略的深度研究与复现》,单容水箱液位随动系统的模糊控制研究 模糊控制lunwen复现 期刊:化工与自动化仪表(2021年) 图1为结构图,图9为原文结构图, 版本不一样,器件略有调整 图7为结果图,图8为原文结果图 ,单容水箱液位;模糊控制;研究;论文复现;期刊;化工与自动化仪表;结构图;结果图;版本差异;器件调整,"模糊控制研究在单容水箱液位随动系统中的应用与复现"
一个windows上使用的搜索小工具
内容: 这份数据集包含了来自国际大洋发现计划(IODP)第342航次站点U1405、U1406、U1407、U1409和U1410的浮游有孔虫碳酸盐团簇同位素、稳定氧和碳同位素,以及沉积物中的GDGT(甘油二烷基甘油四醚)和烯酮数据。这些站点位于北大西洋的新foundland脊(U1407、U1409和U1410)和J-异常脊(U1405和U1406),用于创建覆盖整个新生代的几乎连续但低分辨率(约每92万年一个样本)的数据拼接,并重建了碳酸盐团簇同位素、TEX86和UK'37海表温度。每个样本包含20立方厘米的沉积物,覆盖2厘米的核心深度区间。年龄模型主要基于详细的船上生物-磁性地层学研究(Norris等,2014)。然而,在40.8 Ma至44.8 Ma时间段内,使用了Cappelli等人(2019)更新的U1410站点年龄模型,通过与U1408站点的年龄模型对比来确定。 访问此数据集,请点击这里:"" ()。
厨房用品分割系统源码&数据集分享
.
监控鞋类物品检测系统源码分享
2024免费毕业设计成品,包括源码+数据库+往届论文资料 启动教程:https://www.bilibili.com/video/BV11ktveuE2d 讲解视频:https://www.bilibili.com/video/BV1YfkHYwEME 二次开发教程:https://www.bilibili.com/video/BV1Cw2rY1ErC
曲线图异常波形检测系统源码分享
内容概要:本文介绍了动车组车号自动识别的现状及其存在的问题,提出了基于图像识别技术的新方法。文中详述了传统人工识别与RFID识别方法的不足,重点阐述了一种新的图像识别系统的设计与实施方案,该系统能够实现在多种恶劣环境下高效精确地获取动车组车号,并通过实际案例展示了这套系统的优势以及其在铁路行业的广阔应用前景。 适用人群:从事铁路运输管理、轨道交通系统开发维护的技术人员,尤其是负责动车组调度、监控及维修工作的相关人员。 使用场景及目标:①用于替代现有人工记录与RFID标签方式,提升动车组车号识别精度与效率;②适用于各种天气状况下的户外作业场景;③旨在构建更加智能化、信息化程度更高的铁路运输体系,助力智慧动车段建设。 其他说明:文中还包括具体的实验对比和技术细节分析,如不同的开机触发装置选择、图像采集设备参数设置、补光措施及识别算法的设计,强调了实际应用场景中可能遇到的问题以及相应的解决方案。
基于AnythingLLM框架和Ollama环境本地运行deepseek,并可以通过用户自己的文档来针对性地回答用户问题,用户也可以上传文件来构建模型回复问题所需要的所有参考资料的知识库,使得模型相对于在线模型更加专业地解答用户的问题。同时本地部署保证了隐私性和针对性。