On Sat, 2 Feb 2008, Yegor Kozlov wrote:
By the way, where did you find the implementation of HyperlinkRecord? Which Bug #?

Actually, google! I searched for some documentation on the record format, and found an apache licenced stub implementation

1. HyperlinkRecord construction failed on non-URL links, in particular, on links to a place in worksheet. I added a check to prevent reading past EOF.

Excellent, thanks. I only tested it with the kinds of hyperlink I might ever use

2. HyperlinkRecord.fillFields is incomplete. It works only with URL type of links. I didn't decode it yet but fillFields should behave something like this:

Any thoughts how to decode it?

Create a couple of each type, and stare at the bytes until they make sense? Otherwise, wait another few weeks, and hope it's covered by the binary file format docs Microsoft are due to release then

3. Hyperlink is a special info attached to a cell. Very much like cell comment. To find a hyperlink you need to traverse through the sheet records and test row and column of found HyperlinkRecords.

Hmm, how does that work if I have hyperlinks on two different sheets? Say, one in A2 on sheets 1 and 2, how do we tell those apart?

I added HSSFHyperlink object and getHyperlink/setHyperlink to HSSFCell. For now only getHyperlink() works.

setHyperlink is not yet implemented. First, we need to finish with HyperlinkRecord and figure out how to fill data for different types of links. Once this is implemented, assigning a hyperlink to a cell would be just appending a HyperlinkRecord to sheet records.

Sounds good. I'd suggest we wait a few weeks and see what docs we can get then, unless you fancy staring at some byte arrays before then to make sense of it all!


For now, I've added another test excel file, HyperlinksOnManySheets.xls. This has web links, emails, and internal links, over several different sheets. Ought to be a good starting point for testing further functionality

Nick

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to