使用Excel,Excel 2007和Excel进行Grails Excel Importer验证。使用Apache POI的CSV导入程序

时间:2014-06-12 20:41:35

标签: excel grails

我使用标题中提到的插件导入excel电子表格,但一切运行良好,但我已阅读并重新阅读grails文档,无法弄清楚如何将验证地图设置为自动用我选择的默认值填充空单元格。

这是我的列映射:

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' 
            ]
        ]

这是我要申请的验证地图:

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

我可以通过以下方式获得一份清单:

List accountRecordList = excelImportService.columns(workbook, ACCOUNT_RECORD_COLUMN_MAP)

但是,如果没有应用验证地图。我似乎无法弄清楚不同方法之间的关系,以了解如何将此验证地图应用于我的需求。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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)