9365a1dff2
fpspreadsheet: Reduce support for shared formulas (too many problems...), only reading from xls and xlsx files supported.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3998 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-06 12:12:45 +00:00
c5f6cbe82d
fpspreadsheet: Replace for-to loops by for-in loops if possible. Update example demos.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3991 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-05 10:35:32 +00:00
7e52faa49f
fpspreadsheet: In fpspreadsheet.pas, extract cells AVLTree to fpsclasses.pas. Implement enumerator for the avl trees. Add unit tests for cell and comment enumeration.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3988 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-04 17:30:59 +00:00
a10546d99b
fpspreadsheet: Migrate MergeCells tree to fpsClasses
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3979 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-02 16:50:14 +00:00
7ad2d347ea
fpspreadsheet: Begin migration of code related to AVLTrees to new unit fpsclasses. Hyperlinks and comments trees already migrated.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3978 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-02 12:23:52 +00:00
58031aba3a
fpspreadsheet: Modify hyperlink infrastructure to support non-label cells as well. Add hyperlinks to biff8 reader. Show hyperlink tooltip in TsWorksheetGrid.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3971 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-28 23:46:08 +00:00
0bfcd5c4f8
fpspreadsheet: Introduce "settings" records for each file format to define parameters needed for reading/writing. This fixes two unit test fails in Ubuntu (only 1 fail left).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3964 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-25 10:55:46 +00:00
ea36d2e089
fpspreadsheet: Shorten fpspreadsheet.pas by putting NumFormatList and CustomReader/Writer to separate units
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3963 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-25 09:43:37 +00:00
1b35aa8bb2
fpspreadsheet: Fix compilation of visual package
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3962 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-24 23:23:15 +00:00
5d939e5821
fpspreadsheet: Write hyperlinks to xlsx files. Some restructuring of the hyperlink record.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3961 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-24 16:57:36 +00:00
e0ba07f38b
fpspreadsheet: Fix compilation errors
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3958 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-24 00:30:26 +00:00
20ad9c24f2
fpspreadsheet: read hyperlinks from xlsx files
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3957 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-23 22:51:42 +00:00
dd4e66216a
fpspreadsheet: Add background fill styles for cells. Fully implemented for Biff5, Biff8 and OOXML; ODS writes an interpolated solid fill (like Open/LibreOffice); Biff2 supports only the 50% gray black&white fill.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3949 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-17 23:32:00 +00:00
03efde6cab
fpspreadsheet: Rearrange cell comment architecture: to save memory cell comments are now stored in the worksheet's avltree "Comments". Replace cell's "CalcState" by more general "Flags" which signals that a cell contains a comment (to be extended...)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3943 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-15 11:45:08 +00:00
d8a3204045
fpspreadsheet: Clean up
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3933 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-07 22:24:08 +00:00
ee5cddb23f
fpspreadsheet: Writing of cell comments to xlsx files working now
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3932 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-07 22:04:03 +00:00
ecdf775291
fpspreadsheet: Some optimizations for writing comments to xlsx files, but still not working.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3931 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-06 20:11:39 +00:00
629ac7dd00
fpspreadsheet: Remove workbook parameter from the reader's ReadFromXXXX methods to avoid with conflict by workbook passed at construction.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3925 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-04 19:50:50 +00:00
ac387f67e4
fpspreadsheet: Improve codepage handling for biff2 and biff2 files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3924 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-04 18:15:19 +00:00
028681029b
fpspreadsheet: Fix ods comment reader crashing for ods files written by OpenOffice from xlsx files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3923 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-03 18:13:13 +00:00
9be5e6ec76
fpspreadsheet: Fix compile issue with fpc 3.1.1 (issue #0027399 )
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3922 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-03 12:56:58 +00:00
7a0f60f4ea
fpspreadsheet: Initial implementation of writing cell comments to xlsx files - not working yet: comments are in file, but do not show up in Excel.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3921 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-02 18:51:13 +00:00
5d1c4ec7c7
fpspreadsheet: Read cell comments from xlsx files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3918 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-31 18:42:22 +00:00
d9343190a4
fpspreadsheet: Add mission routines of the cell record helper. Some cosmetics. Clean up commented lines from previous commit.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3895 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-24 00:36:10 +00:00
133bf09eb4
fpspreadsheet: Massive reconstruction: remove formatting attributes of TCell record and collect in TCellFormatList. TCell only has index into this list. Introduce record helpers to keep the old syntax. Reduction of memory consumption per cell by 50%.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3894 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-23 21:54:23 +00:00
2bf5464fc6
fpspreadsheet: Move type declarations from fpspreadsheet.pas to new unit fpstypes.pas. Update all examples.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3887 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-17 22:57:23 +00:00
80c2ec255c
fpspreadsheet: Some improvements in Laz 1.0 compatibility, still issues. Fix style error in wikitable writer.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3885 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-14 15:34:20 +00:00
fd627c1fa1
fpspreadsheet: Introduce an include file (fps.inc) with all conditional defines. They are needed to compile the packages with older LCL/FPC versions (tested back to Laz1.0 / FPC2.4). All patched procedures are in fpspatches.pas and turned on/off by these defines.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3884 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-13 19:02:57 +00:00
bf61320db8
fpspreadsheet: Fix compilation of fpspreadsheet packages back to Laz 1.2.0 / fpc 2.6.2 (Note: some "ignored" unit tests do produce a failure).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3876 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-08 12:14:59 +00:00
fdd9b88f43
fpspreadsheet: Set package versions 1.3 in order to follow the convention of giving the trunk version an odd number. Silence some compiler hints.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3826 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-06 18:09:15 +00:00
ffb78b505e
fpspreadsheet: Fix ooxml writer crashing when writing floating point numbers to various xml nodes using a decimal comma instead of a point (in non-English FormatSettings).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3740 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-17 23:44:13 +00:00
791032b964
fpspreadsheet: Initial version of fpspreadsheet controls, a set of visual controls to facilitate creation of a spreadsheet application.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3701 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-03 15:34:57 +00:00
7b3795dc03
fpspreadsheet: Less hints. Adapt spready code to differences between trunk and Laz 1.2.6, remove duplicate colorbox unit in spready.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3667 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-20 09:22:06 +00:00
9f014b6875
fpspreadsheet: Add reading/writing of boolean cell values for BIFF formats.
...
Add test case for boolean cell values for all formats (incl. CSV).
Extend spready demo to be able to write sfExcel2 and sfExcel5 formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3656 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-14 21:44:00 +00:00
a4c5667dc9
fpspreadsheet: Reading/writing of boolean cell values for all file formats (BIFF not complete, yet).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3655 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-14 15:56:08 +00:00
390b0539f1
fpspreadsheet: Move some more translatable strings to fpsStrings unit. Some clean-up & cosmetics.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3640 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-08 09:23:34 +00:00
9826c957cf
fpspreadsheet: Raise an exception when the ODS and OOXML readers call ReadFromStream (see Mantis 0026830)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3639 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-08 08:13:45 +00:00
af452001d4
fpspreadsheet: Greatly reduce hints and warnings.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3632 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-06 10:43:10 +00:00
93da62030e
fpspreadsheet: Less hints & warnings
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3630 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-03 22:02:09 +00:00
5b4317a706
fpspreadsheet: Fix writing non-printable characters writing to xml-like formats (xlsx, ods, wikitable). Add test case to error tests. Improve syntaxhighlighter for wikitablemaker demo (still not perfect).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3611 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-29 22:27:03 +00:00
dcbbb0c0a1
fpspreadsheet: Cells for which the OnWriteCellData event handler returns null are skipped in virtual mode if they don't carry a format.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3603 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-24 13:59:51 +00:00
094bb314fc
fpspreadsheet: Read non-contiguous shared formulas correctly from OOXLM (BIFF8 still faulty)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3588 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-22 10:51:33 +00:00
2040c0c9cd
fpspreadsheet: Read/write merged cells from/to OOXML
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3540 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-10 16:48:34 +00:00
cfb50bf064
fpspreadsheet: Read default column width and row height from biff and ooxml files
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3532 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-09 11:42:20 +00:00
e9bf681d97
fpspreadsheet: Avoid using column and row records when all column widths and row heights are equal. This fixes Mantis #0026686 .
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3528 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-07 22:25:11 +00:00
ab50c08bd2
fpspreadsheet: Fix shared formula issues with absolute cell references
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3527 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-05 15:41:44 +00:00
ac149b750d
fpspreadsheet: Some cleanup of unused variables.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3526 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-04 18:55:21 +00:00
e2bb18e694
fpspreadsheet: Reading and writing of shared formulas working for OOXML.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3523 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-04 09:19:45 +00:00
c87afdcdec
fpspreadsheet: Redo handling for formulas:
...
- Allow processing of string formulas (conversion to/from rpn formulas, calculation).
- Drop cell ContentType cctRPNFormula.
- Drop field RPNFormulaValue of TCell record.
- Remove all fekXXXX declarations for sheet functions. Function is specified by name now.
- Complete registration mechanism for user-defined formulas.
Adapt all demos
Test cases working
This commit does not yet support: shared formulas, formulas in ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3506 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-30 18:03:22 +00:00
fa8632bb9a
fpspreadsheet: Improved reading of shared strings in xlsx files (see http://forum.lazarus.freepascal.org/index.php/topic,25624.msg155857.html#msg155857 )
...
Add unit xlsconst.pas (will be needed for string formula support)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3503 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-29 10:48:20 +00:00