Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
rido1421
Creator III
Creator III

Connecting to multiple excel sheet names

Hi There

I have an issue loading data from excel.

The excel document will be generated monthly , and the file name of the document will be named after the month.

Sales20160131.xlsx

I know I can deal with each file by loading * but how would I deal with the sheet names because that will change on each document as well?

Your assistance is appreciated.

LOAD

Sales_Value,

Product

FROM
 
$(vPath)\Sales_*.xlsx
(
ooxml, embedded labels, table is Sales_20160131);

Regards,

1 Solution

Accepted Solutions
HirisH_V7
Master
Master

7 Replies
HirisH_V7
Master
Master

Hi.,

look this

My First Post in Resources:) : Load Multiple Excel Files With Different Sheet names

-Hirish

HirisH
“Aspire to Inspire before we Expire!”
jonathandienst
Partner - Champion III
Partner - Champion III

Load like this:

For Each vFile in FileList('<path>\Sales*.xlsx')

  Let vFilename = SubField(SubField(vFile, '\', -1), '.', 1);

  Let vSheet = 'Sales_' & TextBetween(vFilename, 'Sales', '.xlsx')

  Data:

  LOAD

    Sales_Value,

    Product,

    BaseFileName() as FileSource,

    Date(Date#(TextBetween(BaseFileName(), 'Sales', '.xlsx'), 'yyyyMMdd')) as FileDate

  FROM

    $(vPath)\Sales_*.xlsx

    (ooxml, embedded labels, table is $(vSheet));

Next

(Replace <path> in the FileList statement with the correct path to the source files)

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
Anonymous
Not applicable

Hi,

Check this link:

Load all Excel files and all sheets in a folder

Hope it helps!!

rido1421
Creator III
Creator III
Author

Thank you this is very simple , and seems to be effective.

rido1421
Creator III
Creator III
Author

Hi Jonathan

is the correct syntax "FileBaseName() "

For some reason when I do it this way it reloads but doesn't return anything in the table.