Commit Graph

357 Commits

Author SHA1 Message Date
d0fe6490d8 fpspreadsheet: ODS reader supports conditional DataBar format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7554 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-21 21:34:39 +00:00
43b9050b3b fpspreadsheet: ODS reader supports conditional ColorRange format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7553 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-21 21:12:39 +00:00
faf6f72ab8 fpspreadsheet: Rearrange ODS reading code for conditional formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7552 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-21 17:53:20 +00:00
acb49d9590 fpspreadsheet: Add Excel XML reading support for missing cell-based conditional formats. Fix lost "max compatibility" flag of packages.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7550 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-18 15:57:19 +00:00
2793744bf7 fpspreadsheet: Add reading and writing support for conditional formats in Excel XML files (not yet complete).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7549 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-17 19:50:40 +00:00
1339faac5a fpspreadsheet: Fix inconsistencies in test suite introduced by FPC 3.2.0
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7547 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-16 20:47:01 +00:00
52e4cccf80 fpspreadsheet: XLSX reader supports expression conditional format. Add test case for it.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7546 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-16 20:46:21 +00:00
9ee2e2202f fpspreadsheet: Add unit test for ColorRange and DataBars conditional formatting (xlsx only, so far).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7538 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-11 15:57:18 +00:00
8db8946955 fpspreadsheet: Add format check to CF unit test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7534 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-09 17:22:24 +00:00
e14818039f fpspreadsheet: Add more conditional formatting unit tests covering all conditions.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7532 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-09 11:04:37 +00:00
b4154727a1 fpspreadsheet: Add a few test cases for conditional formatting
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7531 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-08 22:01:09 +00:00
80a3750dbd fpspreadsheet: Fix test suite crashing due to changes in ODS writer. All green again.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7528 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-08 16:59:42 +00:00
5cdb8c16c7 fpspreadsheet: Add TsWorksheetIndicator as new visual control. Donated by forum user "abcthing" (https://forum.lazarus.freepascal.org/index.php/topic,49312.0.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7385 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-04-15 22:19:20 +00:00
b8eb9fca8b fpspreadsheet: Fix another case of adding/deleting rows/columns, now within the cell range of a formula. Forum https://forum.lazarus.freepascal.org/index.php/topic,49005.msg354461.html#msg354461
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7343 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-03-26 17:09:25 +00:00
d4ce1f8c06 fpspreadsheet: Fix formula being affected when a row/column is inserted/deleted in another sheet which is not part of the formula.
See forum https://forum.lazarus.freepascal.org/index.php/topic,49005.0.html
Add test case covering this situation.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7342 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-03-25 23:20:24 +00:00
fa4f0c306e fpspreadsheet: Add Worksheet.TabColor support. Update biff8/ooxml/ods readers/writers for it. Add test case for it.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7326 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-02-10 15:23:30 +00:00
20199c9a4c fpspreadsheet: Fix unit tests broken after r7152 (lower-case "d", "m" and "y" date format symbols).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7322 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-01-28 11:32:46 +00:00
ad4c29b027 fpspreadsheet: Add writing support of page breaks to ODS format. Related ODS tests still failing.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7073 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-24 23:08:19 +00:00
2d29205b57 fpsrpeadsheet: Excel xls format (BIFF8, BIFF5 and BIFF2) supports PageBreaks now.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7071 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-24 15:50:43 +00:00
abe882b551 fpspreadsheet: Excel2003/XML fileformat now fully supports page breaks.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7070 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-24 08:23:38 +00:00
aece082d53 fpspreadsheet: Read/write PageBreaks in xlsx format, write in Excel2003/xml format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7069 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-23 23:10:20 +00:00
d88d99a5a2 fpspreadsheet: Avoid Banker's rounding (https://forum.lazarus.freepascal.org/index.php/topic,46104.0.html). Add unit tests for it.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7061 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-20 16:52:10 +00:00
cb76d86aff fpspreadsheet: Done - Excel2003/XML format passes all tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7058 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-19 22:42:59 +00:00
bd75fd6cfe fpspreadsheet: More bug fixes for Excel 2003/XML files, down to 9 test failures from 66.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7055 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-19 19:58:07 +00:00
a9ba71c6f0 fpspreadsheet: Fix 3d formulas crashing when reading Excel2003/XML files because target sheets have not yet been loaded.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7052 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-18 21:38:01 +00:00
8e50105ca0 fpspreadsheet: Fix formula parser crashing with an R1C1 formula subtracting cells with a negative relative address.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7051 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-18 21:02:44 +00:00
3b0e46b92c fpspreadsheet: Fix Excel2003/XML format tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7050 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-18 15:58:16 +00:00
290fd8f7ab fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7049 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-18 08:51:02 +00:00
f534927e0e fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7048 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-17 22:33:22 +00:00
18afbfdd84 fpspreadsheet: Excel2003/XML reader supports formulas now.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7038 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-15 21:00:47 +00:00
8b3b74de88 fpspreadsheet: Add formula MATCH. Improved error detection on math formulas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6768 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-24 23:02:52 +00:00
74f61771c9 fpspreadsheet: Fix reading of repeated columns from ODS files (introduced by r6636).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6645 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-11 21:24:51 +00:00
af0d61f36d fpspreadsheet: Fix formula mismatch in test suite.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6644 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-11 20:51:02 +00:00
5da4eef21a fpspreadsheet: Add unit tests related to hidden cols/rows. Rename unit insertdeletetests to colrowtests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6642 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-11 08:29:55 +00:00
1b83ede288 fpspreadsheet: Additional IF test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6641 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-10 22:13:33 +00:00
6e2cc3fe7e fpspreadsheet: Fix reading of ods files containing formulas with several arguments (separator semicolon). Update unit tests. (Still issues with files posted at https://forum.lazarus.freepascal.org/index.php/topic,42168.msg293792.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6574 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-09 14:28:17 +00:00
d71884f3e2 fpspreadsheet: Improve prev commit. Fix math formulas with non-numeric strings not returning result #VALUE! Add unit tests for this.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-05 13:35:25 +00:00
df88d02952 fpspreadsheet: Improved autodetection of file format (e.g. xls files renamed to xlsx - see https://forum.lazarus.freepascal.org/index.php/topic,41830.msg291032.html). Add corresponding test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6554 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-10 08:32:50 +00:00
b9979977f6 fpspreadsheet: Fix entering new data in existing formula not erasing formula. Add corresponding unit test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6545 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-05 12:51:54 +00:00
03d8694142 fpspreadsheet: Add unit tests for some of the recently fixed formulas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6541 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 23:08:01 +00:00
4517d6fc12 fpspreadsheet: Fix sudden fails of test suite (Why did these test cases work earlier?)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6465 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 09:33:29 +00:00
6c19ca21cb fpspreadsheet: Fix crash when referenced worksheet does not exist.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6453 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-03 11:07:42 +00:00
79f14f6143 fpspreadsheet: Fix 3d formulas when worksheets are renamed or deleted. Add corresponding test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6448 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-01 17:58:14 +00:00
40fabfc201 fpspreadsheet: Redo storage of formulas: formulas now are stored in a separate tree independent of the cells tree. The field FormulaValue of TCell record was removed. All unit tests passed. Demos updated (issues of speedtest due to SST in BIFF8 found - not related).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6446 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-30 22:15:07 +00:00
fd2a79771a fpspreadsheet: Update cell flag cf3dFormula after parsing of a formula.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6424 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 22:31:30 +00:00
b94ba1fac6 fpspreadsheet: Simplify handling of 3d references. Fix bug related to 3d reference type 'Sheet1:Sheet2!A1'.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6422 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 17:44:02 +00:00
613c96821c fpspreadsheet: Ignore the order of indexes in cell ranges when parsing formulas. Add corresponding unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6420 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 08:45:28 +00:00
4ab667eb30 fpspreadsheet: Fix PageLayout. Separate BIFF5 and BIFF8 handling of 3d references.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6412 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-15 07:37:50 +00:00
eaf489ce44 fpspreadsheet: Multiple-sheet 3d references (Sheet1:Sheet3!A1:B3) working for xls, xlsx and ods readers and writers
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6410 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-14 08:12:31 +00:00
28d6da64fc fpspreadsheet: Fix cell ranges in ods formula parser. --> 3d single-sheet references (Sheet1!A1;B4) working for all ODS now for both reading and writing. PageLayout broken for BIFF5 at the moment.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6409 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-13 23:09:18 +00:00