Tag: grails

Grails:如何让我的列表成为MS Excel文件?

gsp分为两部分,上半部分就像searchfilter,下半部分是由Grails提供的常规列表 我在我的list.gsp中有一个模板_list.gsp。 我想创build一个button,使_list.gsp模板MS Excel文件。 但是我只想把模板放在Excel文件上。 不是网页的其余部分 我怎样才能以最简单直接的方式做到这一点? 谢谢!

如何为Grails编写XLSX自定义渲染器

我正在尝试使用grails自定义渲染器来渲染使用apache-poi库的Excel XLSX文件。 我做了一个渲染器类 class APIReportXLSXRenderer extends AbstractRenderer<APIReport> { APIReportXLSXRenderer() { super(APIReport, [new MimeType("application/vnd.ms-excel", "xlsx")] as MimeType[]) } @Override void render(APIReport output, RenderContext context) { context.contentType = GrailsWebUtil.getContentType("application/vnd.ms-excel", GrailsWebUtil.DEFAULT_ENCODING) def items = output.getItems() def fields = output.getFields() def headers = (fields.keySet() + items[0].keySet()) as List // convert maps to list of values each in order of […]

上传并读取excel文件,并使用groovy grails在数据库中插入数据

这是GSP代码: <!DOCTYPE html> <html> <head> <meta name="layout" content="main"> <title>Upload New Document</title> </head> <body> <div class="nav" role="navigation"> <ul><li><g:link class="list" action="list">Document List</g:link></li></ul> </div> <div class="content scaffold-create" role="main"> <h1>Upload New Document</h1> <g:if test="${flash.message}"><div class="message" role="status">${flash.message}</div></g:if> <g:uploadForm action="upload"> <fieldset class="form"> <input type="file" name="file" /> </fieldset> <fieldset class="buttons"> <g:submitButton name="upload" class="save" value="Upload" /> </fieldset> </g:uploadForm> </div> </body> </html> 这是控制器: def […]

获取java.io.IOException无法从Windows Server 2003中的/docProps/app.xml获取inputstream

当我在Windows Server 2003机器上安装这个应用程序时,问题开始了,我得到这个错误。 读了几个post后,我发现它可能是一个问题,当我打开path来保存我的文件,但即时通讯不能确定,因为即时通讯不直接使用Apache POI,但与插件 即时编程一个Grails 2.2.3应用程序,在OS X下,我也在Linux上testing它,即时通讯也使用Excel导出插件http://grails.org/plugin/excel-export < – 这是一个链接到它 正如我之前说的这个问题只影响在Windows Server 2003中,即时通讯不知道其他版本,如桌面,2008年等,但是当我得到一台电脑与我一样,我喜欢有一个小小的帮助,将非常赞赏。 几乎忘了,这里是我的代码示例以防万一: def rptName = "web-app/Download_xlsx/" + UUID.randomUUID() + ".xlsx" /* Define el reporte */ def reporte = new XlsxExporter("web-app/Templates/Template.xlsx", rptName) reporte.putCellValue(x, 0, factura.noFactura) reporte.putCellValue(x, 2, factura.fechaFacturacion) reporte.putCellValue(x, 4, 0) reporte.putCellValue(x, 5, factura.claveTF) reporte.putCellValue(x, 6, factura.paisFacturacion) reporte.putCellValue(x, 7, factura.monedaFacturacion) reporte.putCellValue(x, 8, 1) […]

对于庞大的数据,Grails Excel导入失败

我正在使用grails 2.3.7和最新的excel-import插件(1.0.0)。 我的要求是,我需要将Excel表格的内容完全复制到数据库中。 我的数据库是mssql server 2012。 我已经得到了开发版本的代码。 当logging数很less或可能达到几百个时,代码工作正常。 但是在生产中,Excel表格将有多达50,000行和超过75列。 最初我遇到了一个内存exception的数据。 我把堆大小增加到了8GB,但是现在线程一直运行着,没有终止。 没有错误产生。 请注意,这是一次性的操作,由一个确保这个操作不妨碍其他操作的人来执行。 所以需要担心这个操作的巨大负载。 我能负担得起它。 当logging数达到10000时,相同数量的列将在5分钟左右复制数据。 如果现在我有5万行,那么所花费的时间理想情况下应该是大约5倍左右,即大约25分钟。 但代码保持运行一个多小时而没有终止。 任何想法如何去解决这个问题。 任何帮助,高度赞赏。

导出到页面还应包含标题的XLSX

我正在使用Grails,并将数据列表导出到Excel工作表中。表格的简单导出已完成,但是我需要包含公司徽标和报告标题的页面中的标题。 并且必须根据应该在5张的数据的状态保存纸张。页面宽度也必须是11in … 需求 5张:打开,….,closures 标题:左侧:徽标,右侧:报告标题 所以任何人都可以build议如何做到这一点!

Grails Excel导入超链接

我正尝试使用excel-import插件(基于Apache POI)从Grails中的.xslx电子表格中读取一些数据。 它适用于所有数据types,除了主标题有超链接(可点击)。 当我简单地将列映射到一个string(下面的代码),我只得到没有超链接的标题。 我试图指定预期的types为“超链接”(来自org.apache.poi.ss.usermodel),但没有奏效。 我正在使用由Excel导入示例项目提供的代码 static Map CONFIG_BOOK_COLUMN_MAP = [ sheet: 'Sheet1', startRow: 1, columnMap: [ 'A': 'title', 'C': 'createdBy', 'D': 'createdDate', ] ] 当我将Excel电子表格导出为.csv格式时,超链接会丢失,但是当我将其导出到XML时,超链接被保留(但好像数据嵌套在单元格内?),如下例所示: <Row ss:AutoFitHeight="0" ss:Height="14.99"> <Cell ss:HRef="http://longLink…" ss:StyleID="ce2"> <Data ss:Type="String">Some Text</Data></Cell> 我对grails和groovy相当陌生,过去几天我试图解决这个问题。 有没有办法做到这一点,因为我不想将所有的XLSX文件转换为XML,然后parsing这些巨大的文件。 我试着search是否有人有同样的问题,但我找不到类似的东西。

从表中导出选定的行到Excel

我有表中的数据。 每一行都有一个checkbox。 当用户点击导出button时,我想要检查的行被导出到excel文件。 这是我的代码(GSP): <div id="downloadExcelPopup" style="display: none"> <div id="" class="newserial_popup1" style="width: 80%; height: 70%; float:left; "> <div class="newbrand"> <div style="background: #ff9900; width: 100%; float: left; padding: 15px;"> <h3 style="float: left; width: 80%; margin: 0px; color: #ffffff;">Export to Excel</h3> <button class="close md-close cancelDownload" aria-hidden="true" data-dismiss="modal" type="button">×</button> </div> <div class="form-horizontal group-border-dashed" style="border-bottom: 1px solid #E5E5E5; margin-bottom: […]

在Grails中实现excel导入的有效方法

这个代码应该可以在代码审查,但我不会得到快速回应那里(只有2个常规问题)。 我有以下代码从Excel导入数据到我的grails应用程序。 问题是,我没有在excel文件中testing超过1000行,所以当我的客户端试图上传13k行时,我的应用程序冻结了。 我已经检查stacktrace.log(应用程序正在生产),但没有例外。 系统pipe理员认为jvm内存不足。 我们增加了堆内存的大小。 但是,我想问一下是否有更好的方法来实现这一点。 我正在使用apache poi和创build域对象,因为我从Excel中读取每一行。 之后,我将对象列表传递给控制器​​,validation并将其保存在数据库中。 我应该告诉我的客户限制一次import的物品数量吗? 有没有更好的方法来写这个代码? def importData(file, user){ def rows = [] def keywords = Keyword.list() int inventoryCount = Inventory.findAllByUser(user).size() def inventory = new Inventory(name:"Inventory ${inventoryCount +1}", user:user) Workbook workbook = WorkbookFactory.create(file) Sheet sheet = workbook.getSheetAt(0) int rowStart = 1; int rowEnd = sheet.getLastRowNum() + 1 ; for […]

Grailsdate构造函数和parsingdate

我有一个Excel电子表格,其中的date是这样写的:6/10/2012。 现在,Grails正在使用Excel导入插件阅读它们,当我要求它打印它们时,它们将打印为:2012-06-10。 这个date以像地图的forms进入我的服务 map: [name: name, date: date, price: price] 我试图做到: Date date = Date(map.date) 当然我有一个错误。 2012-06-10 ERROR: Record could not be saved! org.grails.datastore.mapping.validation.ValidationErrors: 2 errors Field error in object 'com.twc.fatcaone.Record' on field 'date': rejected value [null]; codes [com.twc.fatcaone.Record.date.nullable.error.com.twc.fatcaone.Record.date,com.twc.fatcaone.Record.da 我看到一些java.util.Date构造函数被弃用,所以我犹豫是否使用它们,但是我也想知道最简单的方法来parsing地图来获取date和从中形成一个Date对象?