Automatically Convert .XLSM or .XLSB to .XLSX files for Input

Four Stars

Automatically Convert .XLSM or .XLSB to .XLSX files for Input

I have several .XLSM and .XLSB files on a server that I need to:

1.  Download to a directory on another server.

2.  Read the XLSM and .XLSB files and populate a greenplum table.


First, I see that Talend does not have a component for .XLSM and .XLSB files.


1. Is there a way to automatically read the XLSM and .XLSB files saving as .XLSX files so Talend can then read the files?

2. If that is no possible, can these XLSM and .XLSB files be converted by some other means to another file extension that Talend can use?


Appreciate any suggestions as it is not possible to have these files generated with another extension.  I would only need to copy, rename or save as to accomplish this task.


Re: Automatically Convert .XLSM or .XLSB to .XLSX files for Input


It seem this is not possible with standard tFileExcel* components in talend. Are you able to use tfileinputexcel component to read your .xlsm file with 'read excel2007 file format(xlsx) option' checked?

There exist some custom components on talend exchange portal. Such as, tFileExcelWorkbookOpen and tFileExcelWorkbookSave.

Best regards



Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Eight Stars

Re: Automatically Convert .XLSM or .XLSB to .XLSX files for Input

I've never tried to read a XLSM or XLSB file in Talend. However, the only difference between these files and XLSX is that they contain macros. The worksheet data is in the same format and location, so my guess would be that you could just read them with tFileInputExcel.

Cloud Free Trial

Try Talend Cloud free for 30 days.


Introduction to Talend Open Studio for Data Integration.

Definitive Guide to Data Integration

Practical steps to developing your data integration strategy.

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.