Commit Graph

96 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
38001d24d7 fpspreadsheet: Less hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6456 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 11:03:03 +00:00
wp_xxyyzz
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
wp_xxyyzz
d5e5df7485 fpspreadsheet: Rearrange units to better avoid circular unit references. General idea: no unit of the package must "use" fpspreadsheet.pas in the interface section.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6444 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-22 22:21:15 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
74c64b7258 fpspreadsheet/formulas with 3d references: Implement BIFF5 reader for 3d references. Some DebugLn insertions for better debugging (triggered by define FPSpreadDebug).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6400 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-09 21:38:24 +00:00
wp_xxyyzz
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
wp_xxyyzz
e4f6f6e355 fpspreadsheet: Implement simplest 3D cell references (single cells on any sheet within the same workbook). No reading for xls so far, writing is ok. Reading/writing to xlsx and ods ok.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6398 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-08 22:32:09 +00:00
wp_xxyyzz
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
wp_xxyyzz
72edcdf239 fpspreadsheet: Don't write leading '=' to ods formulas if in ignoreformulas mode.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6220 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-03-04 09:35:40 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
659b19e80f fpspreadsheet: Activate boIgnoreFormulas also when reading an ods file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6213 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-02-25 18:55:47 +00:00
wp_xxyyzz
0282943962 fpspreadsheet: Make ods reader skip the source table of an external reference
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6211 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-02-22 09:27:34 +00:00
wp_xxyyzz
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
wp_xxyyzz
e47e969aec fpspreadsheet: Add WorkbookOption boAbortReadOnFormulaError. Off by default, i.e. Reader continues after finding an unknown formula.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6207 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-02-20 17:35:23 +00:00
wp_xxyyzz
f20779983f fpspreadsheet: Fix biff8 writer to use CONTINUE records if text in STRING record is too long.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6055 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-03 18:43:37 +00:00
wp_xxyyzz
cc891712d0 fpspreadsheet: Introduce fpspreadsheet exceptions.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6043 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-26 08:11:58 +00:00
wp_xxyyzz
467329f610 fpspreadsheet: Remove debugging leftover code from previous commit
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6035 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-05 12:48:57 +00:00
wp_xxyyzz
f8bfbd673f fpspreadsheet: Fix ods writer crashing if number format has more than three sections.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6034 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-05 11:41:32 +00:00
wp_xxyyzz
ea22d330d4 fpspreadsheet: Fix merged ranges sometimes being read incorrectly from ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6032 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-04 17:19:53 +00:00
wp_xxyyzz
96ffaaa4d2 fpspreadsheet: Fix crash of db_import_export demo in virtual mode.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5993 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-08-09 22:52:49 +00:00
wp_xxyyzz
1a51875560 fpspreadsheet: Replace usage of AVL_Tree by avglvltree to avoid conflicts of fpc and laz AVL_Tree versions in Laz trunk after r54524
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5831 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-04-06 10:35:13 +00:00
wp_xxyyzz
d25851c07f fpspreadsheet: Initial commit of experimental xlsx decryption support (xlsx decryptor written by forum user shobits1).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5806 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-14 21:48:29 +00:00
wp_xxyyzz
29f8b2a131 fpspreadsheet: Fix range check error in ods writer (see http://forum.lazarus.freepascal.org/index.php/topic,36059.msg240963.html#msg240963)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5805 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-14 16:55:00 +00:00
wp_xxyyzz
ea421f483d fpspreadsheet: Fix mis-positioning of images read from ods files in WorksheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5801 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-08 15:24:00 +00:00
wp_xxyyzz
a4457a850e fpspreadsheet: Add writing support for xls password hashes. Add test case for it.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5799 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-07 22:02:09 +00:00
wp_xxyyzz
87ecb8241c fpspreadsheet: Add uffProtection to UsedFormattingFields to simplify reading cell protection.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5798 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-07 10:47:28 +00:00
wp_xxyyzz
d81738d19c fpspreadsheet: Complete ods writer for cell/sheet/document protection -- but ods has a so-far unsupported option to hide cell content, not just formulas ("hidden-and-protected")...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5797 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-07 10:13:18 +00:00
wp_xxyyzz
4505fb76cd fpspreadsheet: Add writing support for cell, sheet and workbook protection in xls files (biff2, biff5, biff8), opendocument and Excel XML files. Not complete, yet.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5795 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-06 23:30:59 +00:00
wp_xxyyzz
16118290c5 fpspreadsheet: Add ods reader for cell, sheet and workbook protection. Simplification in xlsx reader for sheet protection. Remove field HashValue from TsCryptoInfo (it is PasswordHash now)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5791 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 23:05:03 +00:00
wp_xxyyzz
59c6c664f9 fpspreadsheet: Read/write hidden state of worksheets for ods
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5774 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-01 18:21:21 +00:00
wp_xxyyzz
7e91f6373f fpspreadsheet: Fix different listseparator used in formulas of ods files written by Excel.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5754 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-02-18 18:19:53 +00:00
wp_xxyyzz
7d38a1fa62 fpspreadsheet: Improved handling of default cell format in ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5322 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-11-07 13:47:57 +00:00
wp_xxyyzz
eb29f677d7 fpspreadsheet: Improved interpretation of text-position attribute by ods reader (see forum http://forum.lazarus.freepascal.org/index.php/topic,34687.msg227906.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5315 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-11-05 16:49:34 +00:00
wp_xxyyzz
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