<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Load multiple excel Worksheets with different structure in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651486#M677505</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am now facing another challenge. I have to load multiple worksheets each with different structure from one XLS file into QV. Result should be script which creates for every sheet one table in QV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to load worksheets with different names but same structure according to this thread:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/message/258417"&gt;Load multiple excel files from Multiple excel sheetsinto QV&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But can QV allow to do this automatically even for tables with different structure?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current code crashes probably on using Load * for XLS files:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;for each&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vFile in FileList('$(vPathXLS)\File.xlsx')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ODBC CONNECT64 TO [Excel Files;DBQ=$(file)];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;tables: &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;SQLtables; &lt;/P&gt;&lt;P&gt;DISCONNECT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let vSheetCount = NoOfRows('tables');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;FOR i = 0 to $(vSheetCount) -1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LET vSheetName = purgeChar(purgeChar(peek('TABLE_NAME', $(i), 'tables'), chr(39)), chr(36));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp; $(vSheetName):&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD *, '$(sheetName)' as Sheet&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM [$(vFile)] (ooxml, embedded labels, table is [$(sheetName)]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STORE $(vSheetName) into $(vPathQVDStore)\Output_$(vSheetname).qvd; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DROP TABLE $(vSheetName);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;NEXT i&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE tables; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 10 Jun 2014 15:56:39 GMT</pubDate>
    <dc:creator />
    <dc:date>2014-06-10T15:56:39Z</dc:date>
    <item>
      <title>Load multiple excel Worksheets with different structure</title>
      <link>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651486#M677505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am now facing another challenge. I have to load multiple worksheets each with different structure from one XLS file into QV. Result should be script which creates for every sheet one table in QV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to load worksheets with different names but same structure according to this thread:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/message/258417"&gt;Load multiple excel files from Multiple excel sheetsinto QV&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But can QV allow to do this automatically even for tables with different structure?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current code crashes probably on using Load * for XLS files:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;for each&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vFile in FileList('$(vPathXLS)\File.xlsx')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ODBC CONNECT64 TO [Excel Files;DBQ=$(file)];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;tables: &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;SQLtables; &lt;/P&gt;&lt;P&gt;DISCONNECT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let vSheetCount = NoOfRows('tables');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;FOR i = 0 to $(vSheetCount) -1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LET vSheetName = purgeChar(purgeChar(peek('TABLE_NAME', $(i), 'tables'), chr(39)), chr(36));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp; $(vSheetName):&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD *, '$(sheetName)' as Sheet&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM [$(vFile)] (ooxml, embedded labels, table is [$(sheetName)]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STORE $(vSheetName) into $(vPathQVDStore)\Output_$(vSheetname).qvd; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DROP TABLE $(vSheetName);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;NEXT i&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE tables; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jun 2014 15:56:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651486#M677505</guid>
      <dc:creator />
      <dc:date>2014-06-10T15:56:39Z</dc:date>
    </item>
    <item>
      <title>Re: Load multiple excel Worksheets with different structure</title>
      <link>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651487#M677506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your code could crash because of specific SheetName.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I think the problem is the missing 'v' before sheetName in the string:&lt;/P&gt;&lt;P&gt;FROM [$(vFile)] (ooxml, embedded labels, table is [$(sheetName)]); &lt;/P&gt;&lt;P&gt;and also&lt;/P&gt;&lt;P&gt;LOAD *, '$(sheetName)' as Sheet &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jun 2014 20:44:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651487#M677506</guid>
      <dc:creator>whiteline</dc:creator>
      <dc:date>2014-06-10T20:44:11Z</dc:date>
    </item>
    <item>
      <title>Re: Load multiple excel Worksheets with different structure</title>
      <link>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651488#M677507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code was indeed crashing because of variable name of table for QVD, it has to be static. I also had few errors there in names of variables. After correcting these I came upon new error which was TABLE_NAME from Excel connection. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Excel seems to create hidden sheets when manipulating with data and that was causing crashes of load because of incorrect format of TABLE_NAME. After fixing this I have working QVD generator which won't crash even when manipulating data in excel (i.e. using autofill, new sheets etc.).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt;Script searches through all sheets in excel defined by variable vFile, &lt;/P&gt;&lt;P&gt;then for each sheet creates a QVD file with same name as in source .&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Loads all tables information in selected excel spreadsheet&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;for each vFile in FileList('$(vPathXLS)Data.xlsx')&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ODBC CONNECT64 TO [Excel Files;DBQ=$(vFile)];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;List: &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQLtables; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DISCONNECT; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Excel sometimes creates hidden sheets when manipulating with data and using Auto Filter, &lt;/P&gt;&lt;P&gt;//this temp table filters these and stops possible crashes of load&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SheetList:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Load TABLE_NAME&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; resident List&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where not WildMatch (TABLE_NAME, '*_FilterDatabase');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Drop table List;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LET vSheetCount = NoOfRows('SheetList'); //Counts all sheets&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Loop for all sheets creates QVDs&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;FOR i = 0 to $(vSheetCount) -1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LET vSheetName = purgeChar(purgeChar(peek('TABLE_NAME', i, 'SheetList'), chr(39)), chr(36)); // clears Sheet names from '' and $ signs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;TableData:&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD *, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(vSheetName)' as SourceSheet&amp;nbsp; // New column with source sheet is loaded with extract, not mandatory&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM $(vFile) (ooxml, embedded labels, table is [$(vSheetName)]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LET vSheetName = upper ('$(vSheetName)'); // Sets source sheet name in upper case for output QVD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;STORE TableData into $(vPathQVDStore)\TableData_$(vSheetName).qvd; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DROP TABLE TableData;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NEXT i&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DROP TABLE SheetList;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Jun 2014 15:01:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Load-multiple-excel-Worksheets-with-different-structure/m-p/651488#M677507</guid>
      <dc:creator />
      <dc:date>2014-06-11T15:01:29Z</dc:date>
    </item>
  </channel>
</rss>

