protobi / js-xlsx

XLSX / XLSM / XLSB (Excel 2007+ Spreadsheet) / ODS parser and writer
http://oss.sheetjs.com/js-xlsx
Other
826 stars 416 forks source link

Hyperlinks support #6

Open vinodmehta opened 9 years ago

vinodmehta commented 9 years ago

Looking at all the options here: https://github.com/protobi/js-xlsx#cell-styles

Couldn't figure it out if it is possible to create hyperlinks inside the cell. Is that possible?

protobi commented 9 years ago

Hyperlink formatting isn't covered (yet).

For quick I created a cell with a hyperlink to a workbook, unzipped (jar -xfv ex1.xlsx) and opened up in WebStorm to see what this might entail.

The file /xl/styles.xml defines an <xf> element that references a <cellStyle> element defined in a section <cellStyles> that defines a few other built in styles around the idea of hyperlinks.

So it seems that hyperlinks are actually styles, and it should be technically possible to add. But for right now that's not in.

<cellXfs>
...
    <xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="7"/>
</cellXfs>
<cellStyles count="8">
        <cellStyle name="Followed Hyperlink" xfId="2" builtinId="9" hidden="1"/>
        <cellStyle name="Followed Hyperlink" xfId="4" builtinId="9" hidden="1"/>
        <cellStyle name="Followed Hyperlink" xfId="6" builtinId="9" hidden="1"/>
        <cellStyle name="Hyperlink" xfId="1" builtinId="8" hidden="1"/>
        <cellStyle name="Hyperlink" xfId="3" builtinId="8" hidden="1"/>
        <cellStyle name="Hyperlink" xfId="5" builtinId="8" hidden="1"/>
        <cellStyle name="Hyperlink" xfId="7" builtinId="8"/>
        <cellStyle name="Normal" xfId="0" builtinId="0"/>
    </cellStyles>
vinodmehta commented 9 years ago

Thanks @protobi for verifying this. So I added the link using the formula by setting cell data as: { v: '=HYPERLINK("http link", "some text")', t: 's' }

Is that what you did? The cell just shows the above string as it is and doesn't execute it. Are formulae in general not working?

protobi commented 9 years ago

@vinodmehta Hyperlink formatting is not part of js-xlsx yet. My note was more about exploring what it would take to add it. To explore that I created a workbook with a hyperlink using Excel, and then inspected the .pptx file directly in a development environment to see how that hyperlink was represented.

Bhawnananda commented 7 years ago

Any update on this Issue? When can we expect it ?

rildomar commented 4 years ago

up