Re: [xsl] Extracting a XLSX directly using XSLT 3 and Saxon HE

Subject: Re: [xsl] Extracting a XLSX directly using XSLT 3 and Saxon HE
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 6 Jul 2022 20:09:33 -0000
On 06.07.2022 18:39, Gayanthika Udeshani gudeshani@xxxxxxxxxx wrote:


I did some research and I couldn't find whether there is any XSLT 3
feature in the Saxon HE, which allows extracting the xlsx (Excel file)
directly. I found some solutions using Saxon EE, want to know whether
I have missed something whichB we can apply using the HE.

On closer look, it seems even Saxon HE can treat an xlsx file as a zip
archive if you pass in the right configuration property (example worked
for me with Windows Powershell on the command line for Saxon HE 11 and 10)

B --zipUriPattern:'.*\.xlsx'

From there you can use e.g.

B uri-collection('excel-sheet1.xlsx')

to get the URIs of (some or all?) contained files, it appears, and then
you can read the XML files with the doc function e.g.

doc('jar:file:/C:/SomePath/SomeDir/excel-sheet1.xlsx!/xl/workbook.xml')

But as Mike said, the whole structure is rather complicated, with all
the references across various files you either need to know your way
around Spreadsheet ML or perhaps already have a stylesheet by someone
that learned to process such a structure to extract/transform the
spreadsheet data.

Current Thread