Commit Graph

429 Commits

Author SHA1 Message Date
Dominik Stadler 4aa8334e3b Fix some additional file-handle-leaks reported by unit-tests via an enhanced version of the file-leak-detector
Also add a test for Bug 64045

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1872287 13f79535-47bb-0310-9956-ffa450edef68
2020-01-03 13:11:41 +00:00
Dominik Stadler 9f35db4f51 Bug 63940: Avoid endless loop/out of memory on string-replace with empty search string
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1872145 13f79535-47bb-0310-9956-ffa450edef68
2019-12-31 16:52:55 +00:00
Dominik Stadler 821e164041 Bug 63700: Make D* functions work with numeric result column
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1872136 13f79535-47bb-0310-9956-ffa450edef68
2019-12-31 10:41:43 +00:00
Dominik Stadler bc0dcdf369 Fix bug 63984: AND / OR should treat missing parameters as FALSE
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1872125 13f79535-47bb-0310-9956-ffa450edef68
2019-12-30 19:57:11 +00:00
PJ Fanning 4c034f0e20 [github-164] Fix Bug in XSSFTable.setCellReferences when table is single cell. Thanks to Travis Russell. This closes #164
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1871185 13f79535-47bb-0310-9956-ffa450edef68
2019-12-11 20:07:25 +00:00
PJ Fanning 06f28db213 Bug 63768: Adjust handling of SchemaFactory
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1867484 13f79535-47bb-0310-9956-ffa450edef68
2019-09-24 18:33:37 +00:00
Andreas Beeker 27399cec83 #54803 - Error opening XLSX after saving with a Drawing using POI
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857671 13f79535-47bb-0310-9956-ffa450edef68
2019-04-17 06:19:51 +00:00
Tim Allison a5278ccad9 bug 63327 allow retrieval of wmf data embedded in emf
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857136 13f79535-47bb-0310-9956-ffa450edef68
2019-04-08 19:53:21 +00:00
Greg Woolsey 30851e44a6 #63302 Formula evaluation of names with offset or row function is incorrect
thanks to John Lincoln White for the patch, including new unit tests.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1856644 13f79535-47bb-0310-9956-ffa450edef68
2019-03-30 18:14:14 +00:00
Greg Woolsey edd1f4c75e pre-release maintenance:
* add my key to the KEYS file
* update year in NOTICE (first release of 2019)
* remove svn:executable flag from random test data files

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1855799 13f79535-47bb-0310-9956-ffa450edef68
2019-03-19 00:35:09 +00:00
Greg Woolsey 82f9c29258 #60724 - Partial implementation for SUBTOTAL() 'ignore hidden rows' variations
The function still doesn't deal with auto-filtering, but it now handles variations that should skip hidden rows.

Taught the evaluation framework to know about hidden rows similar to what was already there for skipping subtotals within subtotal ranges.

Added unit test cases.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1855789 13f79535-47bb-0310-9956-ffa450edef68
2019-03-18 19:09:11 +00:00
Yegor Kozlov 6ef332b48e Bug 61472: Convert date/time strings to numbers when evaluating formulas
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1855662 13f79535-47bb-0310-9956-ffa450edef68
2019-03-16 15:41:46 +00:00
Yegor Kozlov c438465b08 Bug 62980: Make D* functions ignore case in headings
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1853268 13f79535-47bb-0310-9956-ffa450edef68
2019-02-09 13:00:09 +00:00
Dominik Stadler c376d662f9 Bug 60405: Add initial support for cetab functions so some macros can be
parsed
Add some function-definitions for Excel 4 Macros and missing functions
found in regression tests

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1852277 13f79535-47bb-0310-9956-ffa450edef68
2019-01-27 09:57:39 +00:00
Yegor Kozlov 698d8eb006 follow-up to Bug 62904. More tests and improved evaluation of IF in array mode
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1851263 13f79535-47bb-0310-9956-ffa450edef68
2019-01-14 14:48:21 +00:00
Dominik Stadler 88b9e48287 Add reproducer for bug 60355
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1851208 13f79535-47bb-0310-9956-ffa450edef68
2019-01-13 17:13:57 +00:00
Yegor Kozlov 0cdc0ee985 Bug 63054: updated formulas in test spreadsheet to keep build happy
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1850772 13f79535-47bb-0310-9956-ffa450edef68
2019-01-08 16:36:34 +00:00
Yegor Kozlov b85437ee88 Bug 63054: improved evaluation of array formulas with error in arguments
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1850742 13f79535-47bb-0310-9956-ffa450edef68
2019-01-08 12:54:39 +00:00
Yegor Kozlov 81033fbad0 Bug 62904: Support array arguments in IF and logical IS*** functions
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1850646 13f79535-47bb-0310-9956-ffa450edef68
2019-01-07 14:34:19 +00:00
Dominik Stadler 85d6f81076 Bug 60460: Handle null workbook or sheet names and emit #REF as Excel does
instead of throwing NullPointerException

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1850008 13f79535-47bb-0310-9956-ffa450edef68
2018-12-30 22:44:40 +00:00
Dominik Stadler 3c99c70acf Add test which verifies that bug 61605 is already fixed
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1849878 13f79535-47bb-0310-9956-ffa450edef68
2018-12-28 19:52:46 +00:00
Dominik Stadler d3dc9b0338 Bug 62629: Allow to handle files with invalid content types for pictures
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1849814 13f79535-47bb-0310-9956-ffa450edef68
2018-12-27 20:51:48 +00:00
Yegor Kozlov 9aabade3f0 Bug 62836: Implementation of Excel TREND function
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1845586 13f79535-47bb-0310-9956-ffa450edef68
2018-11-02 13:34:28 +00:00
Tim Allison 5ecbaf5563 bug 62625 -- add special handling for REFERENCE_NAME record that may only
contain an ascii string, against the spec in VBAMacroReader

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1845238 13f79535-47bb-0310-9956-ffa450edef68
2018-10-30 13:25:20 +00:00
Tim Allison b5653e8829 bug 62624 -- fix npe by adding processing of module name mapping in VBAMacroReader
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1845138 13f79535-47bb-0310-9956-ffa450edef68
2018-10-29 15:48:44 +00:00
Greg Woolsey 6b433ae8b3 #62834 FormulaEvaluator.evaluateInCell() throws Exception
added cell type = formula check when looping through the shared formula range, to ignore any non-formula cells.

Also refactored a bit to enable passing in the evaluation context, as getCellFormula() uses it behind the scenes when evaluating a shared formula cell (has to shift the formula references based on the master cell).  Review of these changes is welcome, as always.

Checked all other code referencing the "SHARED" enum, and didn't see anything else that dealt with formula cell values and thus would need to notice non-formula cells.

Added unit test based on the failing file from Bugzilla.  Test failed until the fixed code was in place.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1844295 13f79535-47bb-0310-9956-ffa450edef68
2018-10-19 01:11:47 +00:00
Tim Allison 870c1b2cf5 62815 -- some numeric values not correctly extracted from xlsb
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1843553 13f79535-47bb-0310-9956-ffa450edef68
2018-10-11 14:14:07 +00:00
Alain Béarez 5199f75fe3 extract valuable code from 54470 submitted patch
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1842548 13f79535-47bb-0310-9956-ffa450edef68
2018-10-01 19:27:32 +00:00
PJ Fanning 4ad4d76241 [bug-62055] Fix XSSFImportFromXML table resize. Thanks to Leonard Kappe. This closes #99
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1825315 13f79535-47bb-0310-9956-ffa450edef68
2018-02-25 17:06:19 +00:00
PJ Fanning e80f53af6e [github-94] Add Range Copier. Thanks to Dragan Jovanović. This closes #94
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1824266 13f79535-47bb-0310-9956-ffa450edef68
2018-02-14 20:30:01 +00:00
Dominik Stadler 6c89a6a460 Add test which verifies that bug 61652 is not appearing any more on latest trunk
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819769 13f79535-47bb-0310-9956-ffa450edef68
2018-01-01 14:39:08 +00:00
Yegor Kozlov 3d4acce3a7 Bug 58106: when a cell with a 'master' shared formula is removed, the next cell in the range becomes the master
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819623 13f79535-47bb-0310-9956-ffa450edef68
2017-12-30 16:34:57 +00:00
Yegor Kozlov 176b557f0d Bugzilla 61116: Formula evaluation fails when using matrix addition within index function call
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819596 13f79535-47bb-0310-9956-ffa450edef68
2017-12-30 13:11:56 +00:00
Greg Woolsey 94bec76385 Implement DMAX and DSUM functions, following the pattern from DMIN.
Refactored the D* function enum to have instances return the function implementation instances rather than using a case construct, now that Java 8 is required.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819376 13f79535-47bb-0310-9956-ffa450edef68
2017-12-27 22:33:03 +00:00
Yegor Kozlov a96d86bfe8 Bug 61869: updating a cell with shared formula produces an unreadable file
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1818818 13f79535-47bb-0310-9956-ffa450edef68
2017-12-20 16:30:13 +00:00
Yegor Kozlov 0ad8c53743 Bug 61859: support for evaluating comparison operators in array mode, detect array mode from formula ptgs
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1818587 13f79535-47bb-0310-9956-ffa450edef68
2017-12-18 15:54:50 +00:00
Greg Woolsey 50ffe0de32 Bug 61882 - Some paths can create an XSSFColor instance with a null CTColor reference
test file

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1817797 13f79535-47bb-0310-9956-ffa450edef68
2017-12-11 17:33:00 +00:00
Greg Woolsey 8f26e2721d Bug #61841 - Unnecessary long computation when evaluating VLOOKUP on all column reference
Found some optimizations in the general evaluation framework related to blank cells in rows beyond the last defined row of a sheet.

I don't see any issue with passing a bit of context down deeper into this framework, as it's all POI-internal and only had one calling path.

See the above bug for the performance analysis.  Not specifically related to VLOOKUP, but improves that case by more than 2/3 as well.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1817252 13f79535-47bb-0310-9956-ffa450edef68
2017-12-06 00:15:51 +00:00
Greg Woolsey 8572d4b71c Fixes Bug 61764 Conditional formatting rules don't evaluate properly for some multi-range rule definitions
Fixes Bug 61761 Conditional formatting rule evaluation doesn't like comparing cells of different types

fixed, with unit tests.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1815298 13f79535-47bb-0310-9956-ffa450edef68
2017-11-15 08:35:17 +00:00
Dominik Stadler d4ad2ffd53 Add test-case which shows that bug 55814 is fixed already by other changes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1814290 13f79535-47bb-0310-9956-ffa450edef68
2017-11-04 13:45:12 +00:00
PJ Fanning 06ea018e03 add test case for bug 61701
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1813864 13f79535-47bb-0310-9956-ffa450edef68
2017-10-31 09:51:51 +00:00
Dominik Stadler 88b3286345 Add test which shows that bug 51262 is fixed now
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1811595 13f79535-47bb-0310-9956-ffa450edef68
2017-10-09 19:35:32 +00:00
PJ Fanning 23ecb9a172 Numeric Array Formula and Matrix Function [from Bob95132] This closes #69
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1808297 13f79535-47bb-0310-9956-ffa450edef68
2017-09-13 23:54:36 +00:00
Greg Woolsey d68912db25 Fixes bug #61468, caused by a confusing OOXML spec design as noted in JavaDocs added in r1795648.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1806623 13f79535-47bb-0310-9956-ffa450edef68
2017-08-29 17:14:52 +00:00
Dominik Stadler 8f8f41a7c2 Fix 60384 and 60709: When shifting with merged regions we should correctly check if the region is moved along or needs to be removed because it is not fully kept via the shifting. This was broken by the fix for bug 59740, now additional unit tests ensure that it works better.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1805518 13f79535-47bb-0310-9956-ffa450edef68
2017-08-19 16:31:45 +00:00
Greg Woolsey c73a4570f8 Bug 61431 - Conditional formatting evaluation ignores undefined cells
now evaluating based on cell references instead, and watching out for undefined cells in rules that require a cell.

Added unit test based on previously failing file.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1805245 13f79535-47bb-0310-9956-ffa450edef68
2017-08-16 23:52:27 +00:00
Greg Woolsey 3cea90e7c4 Fix data validation value list evaluation
One of my users found that my initial implementation was lacking a core distinction - most evaluations expect a single result, and "unwrap" 2/3D ValueEval results to a single value based on the input row/column.

However, data validation list formulas explicitly are expected to return a 2D ValueEval.  This worked when the formula was simple and evaluated to a single Ptg, but only returned one value when the formula was more complex, or referenced a named range defined as a complex formula.

This change teaches WorkbookEvaluator about the distinction, by way of a new attribute for FormulaType.

There is room for discussion over how it is implemented, but this works for me.

Includes the failing workbook we had as a new unit test.

While I was in FormulaType I went ahead and removed the deprecated, unused, and redundant code marked for removal in 3.17.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1803121 13f79535-47bb-0310-9956-ffa450edef68
2017-07-26 22:19:58 +00:00
Tim Allison d320b2ea4a bug 61300 -- prevent really long (infinite?) loop on corrupt file
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1801989 13f79535-47bb-0310-9956-ffa450edef68
2017-07-14 20:47:40 +00:00
Tim Allison 5a9d05487d bug 61286/bug 61287 -- allow WriteProtectRecord to have 2 bytes, and allow for HeaderFooter to be empty.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1801966 13f79535-47bb-0310-9956-ffa450edef68
2017-07-14 13:54:06 +00:00
Tim Allison 34cb860998 bug 61294 -- prevent infinite loop in IOUtils' skipFully.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1801844 13f79535-47bb-0310-9956-ffa450edef68
2017-07-13 16:20:28 +00:00