OSDN Git Service

add feature
authorinabatch <nobuyuki178jp@yahoo.co.jp>
Wed, 27 May 2009 10:16:38 +0000 (19:16 +0900)
committerinabatch <nobuyuki178jp@yahoo.co.jp>
Wed, 27 May 2009 10:16:38 +0000 (19:16 +0900)
src/jp/co/sourceforge/dbutsuite/Hello.groovy
src/jp/co/sourceforge/dbutsuite/datareader/ExcelDataReader.groovy

index 311dce1..4402df7 100644 (file)
@@ -1,5 +1,10 @@
 package jp.co.sourceforge.dbutsuite;
-import jp.co.sourceforge.dbutsuite.datareader.ExcelDataReader\r
+import jp.co.sourceforge.dbutsuite.datareader.ExcelDataReader
 def reader = new ExcelDataReader("null.xls", "シート1")
-reader.read()
+def dataobject = reader.read()
+
+dataobject.items.each {
+       println "$it.name"
+}
+
 
index 058b38d..7bc0c35 100644 (file)
@@ -1,7 +1,7 @@
 package jp.co.sourceforge.dbutsuite.datareader
 
 import jp.co.sourceforge.dbutsuite.model.DataObject
-import org.apache.poi.hssf.usermodel.HSSFWorkbook\rimport org.apache.poi.poifs.filesystem.POIFSFileSystem\rimport java.io.FileInputStream\rimport org.apache.poi.hssf.usermodel.HSSFSheet\rimport org.apache.poi.hssf.usermodel.HSSFCell\rimport org.apache.poi.hssf.usermodel.HSSFRow\rimport org.apache.poi.hssf.record.formula.functions.Cell\rimport jp.co.sourceforge.dbutsuite.model.DataObjectItem\r\rclass ExcelDataReader implements DataReader {
+import org.apache.poi.hssf.usermodel.HSSFWorkbook\rimport org.apache.poi.poifs.filesystem.POIFSFileSystem\rimport java.io.FileInputStream\rimport org.apache.poi.hssf.usermodel.HSSFSheet\rimport org.apache.poi.hssf.usermodel.HSSFCell\rimport org.apache.poi.hssf.usermodel.HSSFRow\rimport org.apache.poi.hssf.record.formula.functions.Cell\rimport jp.co.sourceforge.dbutsuite.model.DataObjectItem\rimport java.text.SimpleDateFormat\r\rclass ExcelDataReader implements DataReader {
        def filePath
        def sheetName
        
@@ -26,7 +26,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook\rimport org.apache.poi.poifs.fi
                        HSSFRow row = sheet.getRow(i)
                        row.cells.each {
                                DataObjectItem item = new DataObjectItem()
-                               item.name = "a"
+                               //item.name = ""
                                
                                if (it.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
                                {
@@ -34,15 +34,38 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook\rimport org.apache.poi.poifs.fi
                                        item.value = it.getNumericCellValue() 
                                }
                                else if (it.getCellType() == HSSFCell.CELL_TYPE_STRING) 
-                               {                               
-                                       //TODO 日付型
-                                       
-                                       item.type = "STRING"
-                                       item.value = it.getRichStringCellValue()
+                               {               
+                                       def dateValue = stringToDate(it.getRichStringCellValue())
+                                       if (dateValue)
+                                       {
+                                               item.type = "DATE"
+                                               item.value = dateValue
+                                       }
+                                       else
+                                       {
+                                               item.type = "STRING"
+                                               item.value = it.getRichStringCellValue()
+                                       }
                                }
                                dataObject.add( item )
                        }
                }               
                return dataObject
        }
+       
+       def stringToDate(dateString)
+       {
+               def result = null
+               def dateformats = ["yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm:ss.SSS"]
+               dateformats.each {
+                       try
+                       {
+                               SimpleDateFormat sdf = new SimpleDateFormat(it)
+                               sdf.setLenient(false)
+                               result = sdf.parse(dateString)
+                       }
+                       catch(e) {}
+               }
+               return result
+       }
 }