"ArrayIndexOutOfBoundsException" while using "tFileInputExcel"

One Star

"ArrayIndexOutOfBoundsException" while using "tFileInputExcel"

Hi,

I get an "ArrayIndexOutOfBoundsException" while using "tFileInputExcel" component.

I just try to read from an excel and print the results in console.
My input excel has 10 column values and 3 input rows, but while read the system throws the following error

Exception in component tFileInputExcel_1
java.lang.ArrayIndexOutOfBoundsException: 0
at jxl.read.biff.SheetImpl.readSheet(SheetImpl.java:725)
at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:252)

Could you please advice me on the above issue?
Is there any index values limit for "SheetImpl" - please let me know your pointers.

TOS version : 3.1.3

Thanks and Regards,
Manikandan.R
Community Manager

Re: "ArrayIndexOutOfBoundsException" while using "tFileInputExcel"

Hello guy
Can you upload a screenshot of basic settings of tFileInputExcel_1?
Best regards

shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: "ArrayIndexOutOfBoundsException" while using "tFileInputExcel"

This issue appears to be caused by a defect in the JXL library version 2.6.3. It occurs due to the fact that a print area exists that has no range. Opening the file in Excel and removing all print areas works around this issue.
The latest version of the JXL library (2.6.12) appears to have resolved this issue. Perhaps Talend should be shipped with the latest version of this library?
Six Stars

Re: "ArrayIndexOutOfBoundsException" while using "tFileInputExcel"

Hi All,
I too am facing the same issue.
What I am doing is, trying to load an excel using the tFileInputExcel component.
ERROR:
Exception in component tFileInputExcel_1
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at jxl.biff.StringHelper.getUnicodeString(StringHelper.java:189)
at jxl.read.biff.WriteAccessRecord.<init>(WriteAccessRecord.java:50)
at jxl.read.biff.WorkbookParser.parse(WorkbookParser.java:820)
at jxl.Workbook.getWorkbook(Workbook.java:271)
NOTE: This excel has a ghost character (') at the beginning of every header value. But when I copy this data into plain text file, I do not see any character.
I tried to load the jxl-2.6.12.jar both implicitly (placing the jar in the lib folder) and explicitly (using tLibraryLoad).
Even I cleared the cache before running the job every time.
All my trials went unsuccessful.
I don't know if the latest jxl 2.6.12 resolves the issue.
Please see my configuration below:
Talend ver: 5.0.2 r78327
OS: WIN 8
Processor: 64bit
Also, the work around given above resolves my issue. However, my job runs dynamically integrated with an application.
So, this work around is very cumbersome and has more human intervention, which what we want to avoid.
Suggest me the fix if any of you have found.
Thanks,
Jagadish.
One Star

Re: "ArrayIndexOutOfBoundsException" while using "tFileInputExcel"

Hi All,
Finally, we have found a resolution to fix the issue.
Resolution:
We have used some custom components (tFileExcelWorkBook & tFileExcelSheetInput) to read the file and save it again. Now this makes ETL read the file just as regular file and proceed further.
My hunch is that, as discussed in the above posts, these custom components might be using latest jars required to deal with these files.
Thanks all for your inputs and guidance.
Regards,
Jagadish.