https://bz.apache.org/bugzilla/show_bug.cgi?id=62969

--- Comment #2 from Greg Woolsey <greg.wool...@gmail.com> ---
Testing in Excel 2016/Office 365 shows that a cell with a formula containing
the HYPERLINK() function anywhere in the formula converts the entire cell value
to a link.

If there is additional formula contents before or after the function call,
those results are appended to BOTH the address and the display label. In my
opinion, that's never going to be useful to anyone, and may be a case we don't
need to handle, at least not at first.

In practice, I think POI only needs to handle cases where the cell formula is
just a single call to HYPERLINK(), regardless of the complexity of the argument
formulas.

This may mean the only useful use case is to access the address from the Cell
object, similar to accessing hyperlink relations currently.

Cell could have these methods:

public boolean isHyperlinkFormula();
public String getHyperlinkFormulaAddress();

The first would just check if the formula starts with "HYPERLINK(" case
insensitive.

The second would set up a new FormulaEvaluator with the proper flag set, and
evaluate the cell formula in that context.

In the future, if performance with lots of link function calls is an issue,
perhaps we could investigate ways to reuse the same FormulaEvaluator, but for
safety I'd avoid it if possible, so we don't mess with related/dependent cell
values expecting the display text result.

I like this, as it could reduce the public API impact to just these method
calls, and avoid misuse of the flag, which could result in more bug reports.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to