Commit Graph

212 Commits

Author SHA1 Message Date
wp_xxyyzz
6858d3da86 fpspreadsheet: Introduce OnCalcWorkbook event to replace the (inefficient) fpspreadsheet workbook calculation strategy by one provided by the user.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6817 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-02-24 10:36:56 +00:00
wp_xxyyzz
3f113c63bb fpspreadsheet: Some clean-up
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6769 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-25 08:58:16 +00:00
wp_xxyyzz
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
wp_xxyyzz
495fcb92eb fpspreadsheet: Redo automatic file format detection: Add method CheckFileFormat to each reader for overriding (check file header or whatever).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6764 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-18 13:08:58 +00:00
wp_xxyyzz
27d77fe114 fpspreadsheet: Make file readers/writers raise EFpSpreadsheetReader/EFpSpreadsheetWriter exceptions instead of EFpSpreadsheet
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6763 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-18 09:44:46 +00:00
wp_xxyyzz
e65331e881 fpspreadsheet: Improved format detection for user-defined file formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6762 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-18 09:43:08 +00:00
wp_xxyyzz
02281cd15f fpspreadsheet: Improved auto-format detection (check extension first, check file header when extension test fails). Fix ods reader crashing when extension has been renamed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6760 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-18 00:07:16 +00:00
wp_xxyyzz
d597266e0d fpspreadsheet: Add basic infrastructure for chart support.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6742 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-01 23:02:22 +00:00
wp_xxyyzz
d8735a174e fpspreadsheet: Add support for xlsx files written by OpenXML (using namespace x) - see forum https://forum.lazarus.freepascal.org/index.php?topic=43159.msg301884).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6726 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-11-12 23:34:56 +00:00
wp_xxyyzz
eba44b8b45 fpspreadsheet: ODS now can read images with hyperlinks. Fix image reading for new ODS format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6674 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-10-06 11:23:12 +00:00
wp_xxyyzz
07991acca5 fpspreadsheet: Read image hyperlinks for ODS (old format). Display image hyperlinks in TsSpreadsheetInspector.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6673 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-10-06 09:19:05 +00:00
wp_xxyyzz
693ab2f3eb fpspreadsheet: the xlsx writer now can write an image hyperlink.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6672 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-10-05 16:31:14 +00:00
wp_xxyyzz
48d37a6351 fpspreadsheet: Add hyperlink to image. Supported by ODS writer, so far.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6671 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-10-04 14:37:28 +00:00
wp_xxyyzz
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
wp_xxyyzz
7ce43cda63 fpspreadsheet: Fix boolean formula failures in unit tests (probably introduced by r6570).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6643 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-11 17:21:40 +00:00
wp_xxyyzz
920fae9fe0 fpspreadsheet: Fix the same issue for columns that was fixed in prev commit for rows
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6640 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-10 15:22:41 +00:00
wp_xxyyzz
4260c5bd5e fpspreadsheet: Fix file reader deleting row records of hidden rows.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6639 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-10 09:00:48 +00:00
wp_xxyyzz
00ea419596 fpspreadsheet: Fix uninitialized hidden row state when reading xls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6638 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-09 16:46:39 +00:00
wp_xxyyzz
8a98b1856e fpspreadsheet: Read hidden state of row/column records in ODS format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6636 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-06 10:06:22 +00:00
wp_xxyyzz
014658c6f2 fpspreadsheet: Read hidden state of row/column records for XLSX and XLS (BIFF5 and BIFF8) formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6635 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-06 09:47:01 +00:00
wp_xxyyzz
02787a6947 fpspreadsheet: Write row/column hidden flag to XLSX, BIFF8 and BIFF2
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6632 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-05 23:04:49 +00:00
wp_xxyyzz
6c92513d96 fpspreadsheet: Add field "Hidden" to TRow and TCol records. Write hidden rows and columns to ODS.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6631 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-05 22:40:59 +00:00
wp_xxyyzz
72b96f5788 fpspreadsheet: Fix reading/writing of ods files with quoted sheetnames (https://forum.lazarus.freepascal.org/index.php/topic,42396.msg295937.html#msg295937)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6629 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-30 17:43:42 +00:00
wp_xxyyzz
02e90b8949 fpspreadsheet: Fix usage of empty cells as numeric value 0 in formulas (https://forum.lazarus.freepascal.org/index.php/topic,42396.msg295893.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6627 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-30 15:06:33 +00:00
wp_xxyyzz
7e6025369f fpspreadsheet: Fix formulas not being recalculated when a cell value is deleted in the grid by DEL key (https://forum.lazarus.freepascal.org/index.php/topic,42365.0.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6615 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-27 21:09:21 +00:00
wp_xxyyzz
0d87d88c08 fpspreadsheet: Fix range-check-error when reading an xls file with header/footer (issue #34177, patch by Domenico Mammola)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6612 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-24 11:27:21 +00:00
wp_xxyyzz
f8f096dcf8 fpspreadsheet: Quote sheet names if they contain illegal characters for the expression parser.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6607 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-17 12:00:02 +00:00
wp_xxyyzz
f5e6986eb7 fpspreadsheet: New behavior of DEL in WorksheetGrid: deletes only content, not format. Old behavior (delete everything) is CTRL+DEL now.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6605 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-16 13:33:11 +00:00
wp_xxyyzz
3767c1a2c9 fpspreadsheet: Fix BIFF to correctly read relative cell address ranges from xls files (https://forum.lazarus.freepascal.org/index.php/topic,42241.msg294536.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6604 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-16 13:19:46 +00:00
wp_xxyyzz
2e8c9b626c fpspreadsheet: Fix detection of two-part time format such as 'H:MM;@' in ODS files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6597 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-11 20:54:50 +00:00
wp_xxyyzz
3e79a95fc1 fpspreadsheet: Fix detection of underlined and strike-through font in xlsx files not written by Excel.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6595 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-11 12:44:52 +00:00
wp_xxyyzz
089a63532a fpspreadsheet: Redo prev two commits in a more general way.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6590 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-11 08:24:08 +00:00
wp_xxyyzz
f10b07cd0f fpspreadsheet: Fix detection of word-wrapped cells in xlsx files written by LibreOffice Calc
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6589 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 22:08:08 +00:00
wp_xxyyzz
5c21f2ae11 fpspreadsheet: Fix xlsx reader not detecting upper-case time format ('H:MM') written by LibreOffice Calc.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6588 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 15:37:28 +00:00
wp_xxyyzz
ec8ada57a7 fpspreadsheet: Fix reading of spurious cell borders of xlsx files written by PlanMaker.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6587 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 15:12:39 +00:00
wp_xxyyzz
9a3ee0016f fpspreadsheet: Fix incorrect right-to-left alignment of xlsx files introduced by prev commit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6586 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 15:04:13 +00:00
wp_xxyyzz
1c7bd8d915 fpspreadsheet: Relax detection of boolean xml attributes for better reading of xlsx files written by LibreOffice Calc.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6585 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 14:21:10 +00:00
wp_xxyyzz
1a0404f2ee fpspreadsheet: Fix reading of shared formulas in xls files (bug introduced by the new calculation engine).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6584 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 11:47:33 +00:00
wp_xxyyzz
e908d9ba3b fpspreadsheet: Fix reading of all BIFF formula attributes, also for BIFF2.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6581 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 09:41:18 +00:00
wp_xxyyzz
7f09efa7de fpspreadsheet: Fix xls reader rejecting formulas with embedded line-break tokens.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6580 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 08:15:18 +00:00
wp_xxyyzz
1da8569c84 fpspreadsheet: Fix reading of IF formulas written by Excel (modified patch by Soner, https://forum.lazarus.freepascal.org/index.php/topic,42168.msg293864.html#msg293864).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6578 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-09 22:42:36 +00:00
wp_xxyyzz
ba5e4da9be fpspreadsheet: Fix bug in formula parser when scanning of ods cell addresses (incorrect extraction of row index).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6577 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-09 22:00:21 +00:00
wp_xxyyzz
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
wp_xxyyzz
19e20fbdf7 fpspreadsheet: Fix sorting with multiple key columns or rows (issue #31886, patch by alex256).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6571 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-06 15:07:40 +00:00
wp_xxyyzz
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
wp_xxyyzz
a261ff7999 fpspreadsheet: Fix TsWorksheet not being able to change a time cell value (see https://forum.lazarus.freepascal.org/index.php/topic,42130.msg293480)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6569 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-04 17:31:51 +00:00
wp_xxyyzz
a52d81d804 fpspreadsheet: Fix captions and hints of spreadsheet actions not being changeable.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6565 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-24 22:02:01 +00:00
wp_xxyyzz
b735455c33 fpspreadsheet: Add worksheet methods to hide and show worksheet. Performs notification of visual controls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6558 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-11 22:11:04 +00:00
wp_xxyyzz
f3b9d0f2a0 fpspreadsheet: Fix duplicate unit message. Remove some hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6557 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-11 19:32:40 +00:00
wp_xxyyzz
2e252ce658 fpspreadsheet: Add new TsWorkbookTabControl property ShowAllSheets (to be used to hide sheets marked as hidden).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6555 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-10 09:25:25 +00:00