From 3cad212e994a2eef5b201003b51ef355c6abfe3e Mon Sep 17 00:00:00 2001 From: pyzhou-talend Date: Mon, 31 Oct 2016 17:19:57 +0800 Subject: [PATCH] TDI-37592 : Date Pattern doesn't take effect when set Type as 'Dynamic' (#740) * TDI-37592 : Date Pattern doesn't take effect when set Type as 'Dynamic' in schema of tFileInputExcel when reading .xls (97-2003) format. https://jira.talendforge.org/browse/TDI-37592 * remove the useless "if..else" code * add "_<%=cid%>" for variables to avoid variable duplicate issue --- .../tFileInputExcel/tFileInputExcel_begin.javajet | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/main/plugins/org.talend.designer.components.localprovider/components/tFileInputExcel/tFileInputExcel_begin.javajet b/main/plugins/org.talend.designer.components.localprovider/components/tFileInputExcel/tFileInputExcel_begin.javajet index 58cd2910817..6079ea241ea 100644 --- a/main/plugins/org.talend.designer.components.localprovider/components/tFileInputExcel/tFileInputExcel_begin.javajet +++ b/main/plugins/org.talend.designer.components.localprovider/components/tFileInputExcel/tFileInputExcel_begin.javajet @@ -402,6 +402,12 @@ if ((metadatas!=null)&&(metadatas.size()>0)) { String[] temp_row_<%= cid %> = new String[tempRowLength_<%=cid%>]; int actual_end_column_<%= cid %> = end_column_<%= cid %> > row_<%= cid %>.length ? row_<%= cid %>.length : end_column_<%= cid %>; + + java.util.TimeZone zone_<%= cid %> = java.util.TimeZone.getTimeZone("GMT"); + java.text.SimpleDateFormat sdf_<%= cid %> = new java.text.SimpleDateFormat(<%=datePattern%>); + sdf_<%= cid %>.setTimeZone(zone_<%= cid %>); + + for(int i=0;i;i++){ if(i + start_column_<%= cid %> < actual_end_column_<%= cid %>){ @@ -416,6 +422,12 @@ if ((metadatas!=null)&&(metadatas.size()>0)) { if(temp_row_<%=cid%>[i]!=null) { temp_row_<%=cid%>[i] = df_<%=cid %>.format(doubleCell_<%=cid%>); } + } else if(jxl.CellType.DATE== cell_<%=cid%>.getType()){ + + jxl.DateCell dc_<%= cid %> = (jxl.DateCell)cell_<%=cid%>; + java.util.Date date_<%= cid %> = dc_<%= cid %>.getDate(); + temp_row_<%= cid %>[i] = sdf_<%= cid %>.format(date_<%= cid %>); + } else{ temp_row_<%= cid %>[i] = cell_<%=cid%>.getContents(); }