如何以CSV格式指定正确的时间戳

时间:2018-05-24 20:16:03

标签: spring-batch

我正在使用Spring Batch 3.0.8并在尝试使用org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper

来摄取CSV数据时遇到问题

配置文件如下所示:

Sub fixData()
Dim writeRow As Integer

writeRow = 1
'Iterate through Sheet1 starting at row 9 and ending at 5000
'Skipping every 3 rows
For i = 11 To 5000 Step 3

    'Pick up the streetname from Sheet1 and stick it in Sheet2
    Sheet2.Cells(writeRow, 1).Value = Sheet1.Cells(i + 1, 1).Value  'Streetname
    Sheet2.Cells(writeRow, 2).Value = Sheet1.Cells(i + 1, 2).Value  'Building No
    Sheet2.Cells(writeRow, 3).Value = Sheet1.Cells(i + 1, 2).Value  'Daire No
    Sheet2.Cells(writeRow, 4).Value = Sheet1.Cells(i, 3).Value      'Name
    Sheet2.Cells(writeRow, 5).Value = Sheet1.Cells(i + 2, 3).Value  'Surname
    Sheet2.Cells(writeRow, 6).Value = Sheet1.Cells(i, 5).Value      'Gender
    Sheet2.Cells(writeRow, 7).Value = Sheet1.Cells(i, 6).Value      'Baba
    Sheet2.Cells(writeRow, 8).Value = Sheet1.Cells(i + 2, 6).Value  'Anne
    Sheet2.Cells(writeRow, 9).Value = Sheet1.Cells(i, 7).Value      'il
    Sheet2.Cells(writeRow, 10).Value = Sheet1.Cells(i + 2, 7).Value 'ilce

    '... like 10 more of these

    'Now we've written out one row to sheet2, increment to the next one
    writeRow = writeRow + 1
Next 
End Sub
<bean id="BMSDataItemReaderCSV" scope="step" class="org.springframework.batch.item.file.FlatFileItemReader">

BMSContract类有一个有问题的字段定义如下:

  

private java.sql.Date REFRESH_TMS;

数据文件具有以下CSV输入:

  

PROJ_TYP_CD,... '06 -05-2018T01:02:08Z'

以下是我收到的错误消息:

  

引起:org.springframework.validation.BindException:   org.springframework.validation.BeanPropertyBindingResult:3个错误   字段'REFRESH_TMS'上对象'target'中的字段错误:被拒绝的值   [];代码   [typeMismatch.target.REFRESH_TMS,typeMismatch.REFRESH_TMS,typeMismatch.java.sql.Date,typeMismatch];   参数   [org.springframework.context.support.DefaultMessageSourceResolvable:   代码[target.REFRESH_TMS,REFRESH_TMS];参数[];默认消息   [REFRESH_TMS]];默认消息[无法转换属性值   输入'java.lang.String'到属性所需的类型'java.sql.Date'   'REFRESH_TMS';嵌套异常是java.lang.IllegalStateException:   无法将'java.lang.String'类型的值转换为所需类型   属性'REFRESH_TMS'的'java.sql.Date':没有匹配的编辑器或   发现转换策略]

0 个答案:

没有答案