Modified the ooxml_util_pkg.get_xlsx_column_ref and the
ooxml_util_pkg.get_xlsx_column_number functions to support columns up to
the limit (currently XFD or 16384) and in
ooxml_util_pkg.get_xlsx_column_ref to fix the bug where the '@' is
returned at multiples of 26.
When the length of p_xml would be an exact multitude of 4000 the loop
over chunks would execute one time too much, causing "ORA-06502: PLSQL:
numeric of value error: invalid LOB locator specified: ORA-22275",
because the second part of dbms_lob.append would be NULL. A check is
added on the length of the clob and if if the mod of 4000 is zero, we
decrease the amount of loops by one.
The email regexp was improved to be case-insensitive.
Old is_valid_email() function was removed.
is_valid_email2() function was renamed to is_valid_email() in order to
be more user-friendly.
Code readability was improved.
Added a new function within the ooxml_util_pkg specifications that will return a collection of the worksheet records that include the name of the worksheet, the sheet ID of the worksheet, and the relationship ID for the worksheet. This will allow for the ability to look-up worksheets and parse them without needing to know what the worksheet's name is in advance.
Added a new function within the ooxml_util_pkg body that will return a collection of the worksheet records that include the name of the worksheet, the sheet ID of the worksheet, and the relationship ID for the worksheet. This will allow for the ability to look-up worksheets and parse them without needing to know what the worksheet's name is in advance.
Change XPath query to get all <t> nodes under the <si> node of interest,
regardless of their depth. This concatenates the resulting text() nodes
together.
Broke out to avoid duplication, as requested by mortenbra. Response is
now passed around internally as a record, with a flag to indicate
whether the BLOB or CLOB is relevant.