Grails Excel导入程序使用Excel,Excel 2007和CSV导入程序进行validation使用Apache POI

即时通讯使用标题中提到的插件导入Excel电子表格,一切工作正常,但我已经阅读并重新阅读了Grails文档,并不知道如何设置我的validation地图自动填充空白单元格与我select的默认值。

这是我的列映射:

Map ACCOUNT_RECORD_COLUMN_MAP = [ sheet:'Sheet1', startRow: 1, columnMap: [ //Col, Map-Key 'A':'uniqueId', 'B':'accountId', 'C':'type', 'D':'insurance', 'E':'currencyType', 'F':'amount', 'G':'upSerDel', 'H':'generalComments' ] ] 

这里是我想要应用的validation图:

 Map propertyConfigurationMap = [ type:([expectedType: ExpectedPropertyType.StringType, defaultValue:""], amount:([expectedType: ExpectedPropertyType.FloatType, defaultValue:-1.0)) ] 

我可以通过做一个清单:

 List accountRecordList = excelImportService.columns(workbook, ACCOUNT_RECORD_COLUMN_MAP) 

但是当然这不适用validation图。 我似乎无法弄清楚不同方法之间的关系,以了解如何将这个validation图应用于我的需求。 任何帮助不胜感激。

ExcelImportService的源文件说:

 def columns(Workbook workbook, Map config, ImportCellCollector pcc = null, propertyConfigurationMap = [:], int lastRow = -1) { 

注意第二个参数是“ACCOUNT_RECORD_COLUMN_MAP”和第四个“propertyConfigurationMap”。 你必须这样调用方法:

 List accountRecordList = excelImportService.columns(workbook, ACCOUNT_RECORD_COLUMN_MAP, null, propertyConfigurationMap)