Commit Graph

345 Commits

Author SHA1 Message Date
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
d2351b5559 fpspreadsheet: Fix 3d cell references with a single other sheet (Sheet1!A1:C3), except for ODS. 3d references with several sheets prepared (not tested yet). Some more unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6408 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-13 10:15:13 +00:00
e98bda1717 fpspreadsheet: Add BIFF5 writer for 3d references. Add corresponding unit test. Some related bug fixes. Less hints.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6401 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-10 14:31:37 +00:00
bfb8cff66e fpspreadsheet/formulas with 3d references: sfExcel8 can read them now. Several bug fixes (e.g. '=Sheet1!A1' was not working). Add testcases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6399 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-09 17:07:59 +00:00
0e4645f9bf fpspreadsheet: Check (and fix) compilation of all demo projects (changed handling of include files in fpc 3.0.4)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6317 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-18 11:42:22 +00:00
24153116a4 fpspreadsheet: Fix reading/writing of milliseconds. Add corresponding test cases. (NOTE: ods cannot display tenths of a second).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6228 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-03-07 22:35:19 +00:00
f78d780b5f fpspreadsheet: Allow number formats with no leading digits. Add corresponding unit test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6218 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-02-28 12:14:19 +00:00
022b837553 fpspreadsheet: Fix error in Round function. Add a second unit test for Round.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6217 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-02-27 22:21:49 +00:00
a8743226b7 fpspreadsheet: Add unit tests for HTML-to-RichText conversion (and vice versa).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6073 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-14 22:57:11 +00:00
515e7437e5 fpspreadsheet: Fix number format test case. Now all tests are passed again.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6060 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-06 08:35:25 +00:00
9b8e818c3c fpspreadsheet: Fix max string length test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6056 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-03 21:04:07 +00:00
0310e5587e fpspreadsheet: Write biff8 text cells to shared-string-table to overcome string truncation at 255 characters.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6054 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-03 13:39:12 +00:00
685581a8da fpspreadsheet: Fix WorksheetGrid event OnSelectCell not firing any more. Less hints.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5905 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-05-27 16:43:27 +00:00