I have seen this to fail with several API's and even from SSIS before. That is why I went the extra mile debugging this problem and I found out there is a bug in the JXL API. I have reported so in the Yahoo group
http://tech.groups.yahoo.com/group/JExcelApi/messages. My message is still not showing up ther eprobably because is going through moderation at the moment.
Definitely it would be great if Talend/JXL can accept the General format as text without losing any part of the content of the cell. Talend uses the JXL library. You realize that if you switch to debug mode, put a break point on the component and examine the code there.
Can you try converting with POI directly? Look into here for a quick try
https://github.com/anjlab/excel2csv-java. If the resulting CSV does come correct then you can convert to CSV before feeding the file into Talend. That way you will have a temporary solution while you wait for the bug to be fixed. Below is an approximate copy of what I posted to JXL Yahoo user group:
There is a problem with precision in the jxl api. This is a continuation of this post:
http://www.talendforge.org/forum/viewtopic.php?pid=69610
1. Compile source code from
http://www.java-tips.org/other-api-tips/jexcel/converting-excel-documents-to-csv-files.html for example:
javac -cp jxl-2.6.12.jar ConvertCSV.java
2. Put the attached input.xls in the same directory where the compiled class is and run the program, for example:
java -cp jxl-2.6.12.jar:. ConvertCSV
3. Look at the resulting file input.csv. It should be:
1,1.0735
2,9.0001
3,9.0010
4,1.0001
But instead you get:
1,1.074
2,9
3,9.001
4,1
BTW I tested this with latest version of JXL
http://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl/2.6.12 and also with the one Talend 4.2.2 ships with (c:\TOS-Win32-r63143-V4.2.2\lib\java\jxl.jar) just in case I had the opportunity to patch Talend but they both failed.