Commit Graph

95 Commits

Author SHA1 Message Date
efa8009d96 fpspreadsheet: Avoid writing duplicate conditional formatting styles to "styles.xml" of ods file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7511 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-01 16:08:11 +00:00
7f80fea142 fpspreadsheet: Support font as conditional formatting style (so far, ODS writer only)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7510 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-01 15:58:30 +00:00
724cd6ba30 fpspreadsheet: Fix usage of cell references and formulas in conditional formatting by ods and xlsx writers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7509 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-01 15:35:48 +00:00
474ce859da fpspreadsheet: Activate missing conditional formatting conditions in ODS writer (a few issues left)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7508 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-01 13:59:21 +00:00
54fc098d03 fpspreadsheet: Write some more conditional formatting conditions to ODS.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7507 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-07-01 10:40:36 +00:00
aff774ebc9 fpspreadsheet: Add writing of conditional formats to ODS (only cfcEqual condition, so far).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7504 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-30 10:46:07 +00:00
72986ddc75 fpspreadsheet: top10 in conditional formatting. More advanced demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7501 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-26 16:36:32 +00:00
fbe85d7e44 fpspreadsheet: xlsx writer supports conditional formatting for duplicate/unique values.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7500 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-26 11:37:21 +00:00
9a71231010 fpspreadsheet: Add writing of error-related conditional formatting conditions to xlsx writer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7499 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-26 11:18:30 +00:00
8a30aacadb fpspreadsheet: Add writing of text-related conditional formatting conditions to xlsx writer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7498 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-26 10:59:12 +00:00
5578d181a8 fpspreadsheet: Fix usage of format index (dxfId) in writing conditional formatting to xlsx.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7497 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-26 09:27:01 +00:00
7f4382a137 fpspreadsheet: Add conditions above/belowAverage to conditional formatting.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7496 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-25 23:10:44 +00:00
57b0651e64 fpspreadsheet: Cleanup restructuring of previous commit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7495 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-25 17:59:07 +00:00
1c25309bdf fpspreadsheet: restructure examples/other folder.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7494 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-25 17:57:14 +00:00
e1fc35b13a fpspreadsheet: Add demo for conditional formatting
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7493 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-06-25 17:23:36 +00:00
896c356040 fpspreadsheet: Add demo_protection
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6549 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-06 16:38:16 +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
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
ef46ccd90d fpspreadsheet: Add workbook option boIgnoreFormulas for writing unsupported formulas (See forum https://forum.lazarus.freepascal.org/index.php/topic,40146.0.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6209 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-02-20 23:02:45 +00:00
3aba9136ea fpspreadsheet: Add searching in comments. Add demo for searching.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5965 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-06-27 09:18:34 +00:00
f85d2543ba fpspreadsheet: Make sure that all demos are compiled with -Xg
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5764 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-02-20 17:21:56 +00:00
ebb9b428ea fpspreadsheet: Set "use unit" flag of fpscell. Update demo_write_formatting to use package instead of path to fpspreadsheet.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5740 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-02-05 21:04:36 +00:00
3e6dd484f7 fpspreadsheet: Fix compilation issues when fpc version is changed: separate package units into different folders, incorporate code of fpsnumformatparser in unit fpsnumformat and code of fpsregfileformats in units fpsreaderwriter. Check and fix all demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5282 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-10-22 20:59:00 +00:00
c639d3f13d fpspreadsheet: Modified virtual mode (VirtualColCount, VirtualRowCount and OnWriteCellData were moved from workbook to worksheet). NOTE: THIS BREAKS EXISTING CODE USING VIRTUAL MODE.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4968 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-07-14 19:43:15 +00:00
9280718d44 fpspreadsheet: Fix xlsx image distortion introduced with new workbook units.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4569 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-18 20:27:17 +00:00
5b946b751f fpspreadsheet: Add units (mm, cm, in, pts, lines/chars) for column width and row heights. Update all demos (some issues left).
NOTE: This revision breaks existing code if the worksheet's DefaultRowHeight/DefaultColWidth is changed - value must be in millimeters now. Methods for accessing individual row heiths and column widths are fine, but are marked as deprecated, they use the old units. Optionally a unit parameter can be specified.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4568 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-18 19:50:40 +00:00
998c8b0dfc fpspreadsheet: Replace workbook's EmbeddedStream by a more general EmbeddedObj storing image width, height and format as well.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4556 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-15 12:29:58 +00:00
2a026867ca fpspreadsheet: Finalize image and headerfooter_image demos. Update readme in other demos folder.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4547 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-13 23:01:12 +00:00
44b8adf293 fpspreadsheet: Activate scaling factor for embedded images.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4546 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-13 22:28:59 +00:00
a5e8d60e81 fpspreadsheet: Add writing of header/footer images to ods.
Reorganize ods header/footer code. 
Fix writing of page margings for ods. 
Fix Excel failing to load file with footer image.
Add header/footer image and image demos.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4545 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-13 18:15:40 +00:00
3eeefd11eb fpspreadsheet: Update readme file in examples/other/.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4171 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-31 20:50:07 +00:00
cb6433ad15 fpspreadsheet: Add demo how to write all Excel8 colors.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4157 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-28 21:54:05 +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
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
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
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
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
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
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
f9dc0c3370 fpspreadsheet: More sorting criteria: case-senstivity, numbers first or text first in case of mixed ranges. Update spready.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3680 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-23 13:38:41 +00:00
fb8faab20b fpspreadsheet: Fix compilation error introduced yesterday. Fix multi-key sorting which now passes all tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3679 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-23 09:07:20 +00:00
4a1a99044b fpspreadsheet: Fix circular unit reference bug (thanks, Michael). Add demo_sorting.pas unit missing from last commit. Some improvements with multi-key sorting, but still in error sometimes (--> sorting code is still experimental).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3678 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-22 23:25:26 +00:00
233c735db6 fpspreadsheet: Improved sorting parameters (individual sort direction for sort keys). Fix some bugs. Begin to write a sorting test case. Add a demo on sorting.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3676 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-21 22:57:02 +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
4ed3b47628 fpspreadsheet: Add test cases for insert/delete rows into worksheets containing formulas. Issues remaining when cells referred to by the formula are deleted. Add detection of error values to the formula scanner.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3581 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-19 14:22:18 +00:00
b22ab8deba fpspreadsheet: Move rpn stuff from fpspreadsheet.pas to a new unit fpsRPN.pas. Move translatable strings from fpspreadsheet.pas to a new unit fpsStrings.pas. Make sure that all demos still run in the new environment.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3572 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-17 08:38:31 +00:00
eb4dbd80e5 fpspreadsheet: Modify demos to write compiled units to the common directory "lib" within the examples folder as far as possible.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-15 21:27:57 +00:00
c03833de40 fpspreadsheet: Add some more formulas
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3511 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-01 22:37:14 +00:00
c3becffe34 fpspreadsheet: Modify expression parser to accept decimal and list separators different from the default point and comma.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3509 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-01 08:17:35 +00:00