Commit Graph

304 Commits

Author SHA1 Message Date
773295ba3e fpspreadsheet: Another exotic formula test case: multiple application of % operator.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4187 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-08 17:11:46 +00:00
e121751361 fpspreadsheet: Reactivate the expression parser test cases which were commented (and forgotten) some time ago. Activate missing argument tests. Add some "exotic" formulas. All passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4186 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-08 17:03:55 +00:00
5ba3407139 fpspreadsheet: Fix spreadsheet function WEEKDAY to work with cell reference
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4181 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-07 08:22:12 +00:00
a658f6f7e6 fpspreadsheet: Fix runtime errors of guitests in debug mode
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4174 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-02 08:31:00 +00:00
0d7bdfa06c fpspreadsheet: Move TsCellFormatList from fpsTypes.pas to fpsClasses.pas. Updated chm help file after proof-reading.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4173 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-01 19:58:26 +00:00
750a0c68f5 fpspreadsheet: Move some general procedures from fpspreadsheet.pas to fpsutils.pas
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4168 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-31 16:34:40 +00:00
f8f72e3847 fpspreadsheet: Make number format parser independent of workbook. Some cleanup.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4167 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-31 16:06:22 +00:00
61a55feef8 fpspreadsheet: Release restriction on max 21 numberformats for writing biff2 files; extra formats not read correctly by Excel although I know from Office97 that there can be more than 21 formats in a biff2 file. Add some more unit tests for number format parser.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4166 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-30 22:09:53 +00:00
545bd7ed0f fpspreadsheet: Major reconstructor of color management: no more palettes now, use direct rgb colors instead. May break existing code - sorry! Update all demos and unit tests (passed).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4156 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-28 20:08:24 +00:00
8adf987bf9 fpspreadsheet: Better detection of fraction format by numberformat action. Some clean-up.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4145 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-19 16:18:01 +00:00
4a45218c8f fpspreadsheet: More robust float-to-fraction conversion of float. Add test cases for this conversion.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4144 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-19 10:55:18 +00:00
e307a01d51 fpspreadsheet: Some simplification of number format token analysis. Add number format unit tests for the new formats (fraction, split-off thousands)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4131 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-15 21:14:19 +00:00
6a84c55899 fpspreadsheet: Fix pagelayout unit test. Passed now.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4124 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-11 14:29:55 +00:00
47db427771 fpspreadsheet: Add header/footer parser for conversion between Excel and ODS header/footer. Still some bugs.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4121 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-09 22:40:59 +00:00
116b522290 fpspreadsheet: Add unit tests for page layout headers and footers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4114 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-04 21:14:29 +00:00
4e420fa876 fpspreadsheet: Add unit tests for some more page layout properties (Fit width/height to pages, start page number) (completing the first 1000 test cases...)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4113 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-04 17:38:56 +00:00
607585d146 fpspreadsheet: some more unit tests for page layout (paper size, page orientation, scaling factor)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4112 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-04 11:01:06 +00:00
48eaf9d6a0 fpspreadsheet: Add pagelayout testcases for page margins.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4111 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-03 21:41:27 +00:00
080efbf542 fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4108 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-02 14:25:39 +00:00
cd397b64d5 fpspreadsheet: Remove TsNumberFormatDialect, not needed by number format parser any more. Fix some issues in visual demos related to number formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4089 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-19 22:03:33 +00:00
03b7dedde7 fpspreadsheet: Improved number format parser
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4082 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-18 14:58:38 +00:00
beca637d7c fpspreadsheet: Fix shared formulas incorrectly read from xlsx files. Fix formulas being lost when reading xlsx and ods files where formulas had not been calculated at saving.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4058 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-20 23:24:12 +00:00
34ec877414 fpspreadsheet: Improved handling of empty cells containing hyperlinks.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4057 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-20 20:51:07 +00:00
95edadbd29 fpspreadsheet: Fix cell row and column enumerator sometimes failing
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4036 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-16 00:05:56 +00:00
c7c8d73179 fpspreadsheet: optimize workbook font infrastructure to avoid that missing font 4 dictated by Excel. Remove UsedFormattingField uffBold (obsolete since supporting fonts).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4015 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-11 22:28:07 +00:00
9f26fd4b79 fpspreadsheet: Fix test suite to pass all tests in Linux
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4009 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 22:13:15 +00:00
072efe0a95 fpspreadsheet: Fix hyperlinks tests under Linux
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4008 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 17:27:52 +00:00
d16e0915f5 fpspreadsheet: Fix hyperlink unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4007 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 17:04:25 +00:00
7c169b576f fpspreadsheet: Forgot to add hyperlinktests.pas
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4003 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 00:51:39 +00:00
2d76afb541 fpspreadsheet: Unit tests for hyperlinks. Some issues left.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4002 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 00:50:10 +00:00
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
2c63f357de fpspreadsheet: Move InitFormatRecord from unit fpstypes to fpsutils. Add enumeratortests to spreadtestcli.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3992 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-05 10:54:06 +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
23d6bdc557 fpspreadsheet: Fix writing of empty strings to cell. Fix biff8 stream read error of hyperlinks.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3981 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-03 00:06:15 +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
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
eddf623803 fpspreadsheet: Restructure merged cells. Info on merged cells is no longer stored in cell, but in separate avltree, FMergedCells. Unit tests ok.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3954 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-22 00:12:16 +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
47cb730370 fpspreadsheet: Add test cases for cell comments. Fix some bugs related to comments.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3937 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-08 18:26:47 +00:00
8dc16503cd fpspreadsheet: Add test case for biff2 file with more than 62 xf records
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3936 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-08 13:08:49 +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
b267fd7694 fpspreadsheet: Implement reading of cell comments from opendocument files. Fix cell text with manual line break in opendocument files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3913 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-30 16:50:23 +00:00
8f3d5d471f fpspreadsheet: Fix buffered stream reading speed issues.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3904 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-27 19:31:57 +00:00
9b0e720b37 fpspreadsheet: Re-add copytests to test suite (they had been dropped after modification of TCell structure).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3899 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-25 18:25:57 +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
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