684 Commits

Author SHA1 Message Date
9a8edcf7f5 fpspreadsheet: Fix ods reader crashing when settings.xml is missing.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8943 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-09 17:45:01 +00:00
a2350194b7 fpspreadsheet: Fix formulas with general UTF8 sheet names in xlsx
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8942 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-09 17:44:35 +00:00
67024b9786 fpspreadsheet: Update documentation.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8935 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-07 21:51:23 +00:00
31205a2ddc fpspreadsheet: Size property cannot be changed (public in ancestor). Raise an exception now if new size is <> 0.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8931 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-03 20:40:56 +00:00
186e9b86a3 fpspreadsheet: Introduce a TBufStream.Clear method and make the Size property read-only to avoid issues when setting Size to arbitrary values.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8930 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-03 20:33:22 +00:00
477a3290f0 fpspreadsheet: Allow TBufStream to reset its Size to 0 (erase the contents of an existing file without deleting it).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8929 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-03 20:25:00 +00:00
9ca8cd943d fpspreadsheet: Fix evaluation of worksheet rels. Fix copying comments (sourceforge issue #61)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8928 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-10-02 21:53:23 +00:00
200668d5b9 fpspreadsheet: Store whether a cell is not allowed for printing (UsedFormattingFields flag uffDoNotPrint). Implemented for ODS only.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8921 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-08-28 21:51:20 +00:00
5464272445 fpspreadsheet: Improved password handling and format detection for the decryption readers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8913 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-08-05 22:20:06 +00:00
e1291123ef FPSpreadsheet: Replace fpsZipper by the unit submitted to bug tracker.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8912 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-08-05 10:58:53 +00:00
1c81982561 fpspreadsheet: Use patched zipper unit, remove dependence on Abbrevia.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8911 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-08-04 22:19:16 +00:00
36537f3875 fpspreadsheet: Add specialized reader for password-protected ods files. Temporarily add dependence on Abbrevia to crypto package (until FPC issue #40369 will be fixed). Add sample project for reading encrypted ods file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8910 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-08-03 12:58:43 +00:00
f0e01409ec FPSoreadsheet: Remove dependence on DCPCrypt from the crypto package (use Wolfgang-Ehrhardt units instead and add the needed ones to the package).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8907 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-08-02 10:37:14 +00:00
1c9d111a60 fpspreadsheet: Prepare ODS reader for supporting decryption.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8901 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-07-27 11:00:29 +00:00
20afe34c4b fpspreadsheet: Detect whether ods files are encrypted.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8898 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-07-24 22:45:34 +00:00
caa791fa8e fpspreadsheet: Support node <text:s> in opendocument (https://forum.lazarus.freepascal.org/index.php/topic,64032.msg485856.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8885 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-07-18 20:24:20 +00:00
7940c5f9df Misc packages: Adjust to changes in Laz/main (deprecated OffsetRect), less hints and warnings
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8838 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-06-15 23:33:46 +00:00
4bda2d8750 fpspreadsheet: Fix the xxxxIF formulas (COUNTIF, SUMIF, ...) to be case-insensitive (https://forum.lazarus.freepascal.org/index.php/topic,63474.msg480757.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8822 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-05-25 15:33:02 +00:00
f5af081233 fpspreadsheet: Add check for non-empty cells to stop removing of the dummy ods "repeated" rows.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8821 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-05-17 12:17:58 +00:00
c5be1f5910 fpspreadsheet: Remove dummy "rows-repeated" at the end of the table from ods (https://forum.lazarus.freepascal.org/index.php/topic,63385.msg479999.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8820 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-05-17 11:21:15 +00:00
a5cdbad1bb fpspreadsheet: Fix insert row/col behaviour when insert happens at the anchor of a merged block. Issue #39051.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8819 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-05-04 11:33:18 +00:00
a89357d559 fpspreadsheet: Use cell background in TsWorksheetGrid's cell editor.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8809 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-04-25 20:14:36 +00:00
8d0a937afc fpspreadsheet: Replace unit xlsbiff3 by xlsbiff34 which is extended to support also reading of the BIFF3 format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8772 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-03-23 23:57:37 +00:00
15876adb93 fpspreadsheet: Add reader for Excel 4.0 format (xlsbiff4).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8769 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-03-22 23:08:00 +00:00
9e861cf8d3 fpspreadsheet: Support reading of BIFF2 files with BOF record of BIFF8 - there seem to exist some malformed files of this kind which can be read by Excel.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8768 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-03-22 08:28:17 +00:00
71b627aa59 fpspreadsheet: Fix xlsx reader bug which assumes that sheet files in the xlsx structure are always named "sheet1.xml", "sheet2.xml", etc. Issue #39050, patch by Domenico Mammola.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8763 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-03-15 18:59:12 +00:00
c6e4533d22 fpspreadsheet: Add missing {$mode objfpc}{$H+} directive to unit xlsxooxml_crypto.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8744 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-02-25 17:27:33 +00:00
6ec5e264f3 fpspreadsheet: Add compiler mode directive to fpscrypto.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8743 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-02-25 17:23:25 +00:00
3a2cfd397f fpspreadsheet: Check compilation back to Laz 1.4.4/fpc 2.6.4. Update conditional defines in fps.inc.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8734 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-02-23 11:42:24 +00:00
8ab147776a fpspreadsheet: Fix typo in previous commit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8697 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-02-07 19:03:25 +00:00
7905e5a72e fpspreadsheet: Support the csv reader/writer options IgnoreOuterWhiteSpace and QuoteOuterWhiteSpace (see https://forum.lazarus.freepascal.org/index.php/topic,62151.0.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8696 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-02-07 16:54:19 +00:00
75b3b0004b fpspreadsheet: Call Flush() at the end of TsWorksheetDataset.CopyFromDataset to make sure that the output file is written.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8687 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-01-16 18:51:24 +00:00
04a58a17c7 fpspreadsheet: Extend TsWorksheetDataset.CopyFromDataset to support codepage conversion of the source dataset.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8678 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-01-14 21:54:41 +00:00
2daa348262 fpspreadsheet: Adjust conditional format range when rows/cols are inserted or deleted. See https://forum.lazarus.freepascal.org/index.php/topic,61810.0.html
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8672 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-01-10 21:54:55 +00:00
c5dcc98172 fpspreadsheet: Fix TsSpreadOpenDocReder.ReadCell returning undefined ColsRepeated value if there are too many columns.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8631 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-11-25 10:30:02 +00:00
fcb139c902 fpspreadsheet: Fix LCLScaling of comment marker in grid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8625 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-11-16 19:04:36 +00:00
eb0d7767fb fpspreadsheet: Fix handling of hyperlinks with spaces in the bookmark (sheet name).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8604 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-11-10 19:23:23 +00:00
d2467e166d fpspreadsheet: Fix worksheetgrid crashing when drawing cell borders due to range overflow when frozencols = 0 or frozenrows = 0.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8603 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-11-10 18:04:44 +00:00
68ec591390 fpspreadsheet: Use '?' as common broken-utf8-replacement character.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8578 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-21 14:20:06 +00:00
506dbe52b7 fpspreadsheet: Less hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8577 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 21:15:56 +00:00
88f48bfdcb fpspreadsheet: Fix failures in unit tests introduced by r8569.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8576 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 21:14:57 +00:00
963fa9bc2f fpspreadsheet: Adapt virtual mode writer to ods writer after r8574.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8575 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 20:40:44 +00:00
8a005864a4 fpspreadsheet: Fix virtual mode ignoring style cell when writing ods. Issue #39045, patch by Bartek Dajewski,
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8574 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 20:39:25 +00:00
8ca568fad2 fpspreadsheet: Simplify ValidXMLText().
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8573 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 15:25:33 +00:00
9d63e15606 fpspreadsheet: Fix writing malformed UTF8 text to Excel5 xls format (display as '?').
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8572 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 15:24:39 +00:00
4831f684fc fpspreadsheet: Avoid duplicate error message when writing defective UTF8 to ods. Related to issue #39045.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 14:09:56 +00:00
ab310b1165 fpspreadsheet: Fix writing of defective UTF8 strings to xlsx. Related to issue #39045.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8569 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 14:08:53 +00:00
df2c182ee2 fpspreadsheet: Simplified solution for multi-line text issue #39045 fixing also malformed UTF8 strings for ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8568 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-19 10:09:16 +00:00
5dff24de86 fpspreadsheet: Fix usage of define FPS_NO_LAZUNICODE.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8566 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-17 22:57:46 +00:00
bf4b943cb2 fpspreadsheet: Fix writing multi-line text to ods. Issue #39045. Based on patch by Bartek Dajewski.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8565 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2022-10-17 22:46:41 +00:00