Commit Graph

332 Commits

Author SHA1 Message Date
bc83057bd8 fpspreadsheet: (Hopefully) fix missing last character of cell text copied to clipboard as CF_TEXT (see http://forum.lazarus.freepascal.org/index.php/topic,38925.0.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6069 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-13 17:29:24 +00:00
515e7437e5 fpspreadsheet: Fix number format test case. Now all tests are passed again.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6060 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-06 08:35:25 +00:00
9b8e818c3c fpspreadsheet: Fix max string length test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6056 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-03 21:04:07 +00:00
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
0310e5587e fpspreadsheet: Write biff8 text cells to shared-string-table to overcome string truncation at 255 characters.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6054 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-03 13:39:12 +00:00
d62cd79a4c fpspreadsheet: Fix Excel8 reader crashing if file does not contain a FONT record (reported by Malcolm Buckingham on mailing list, Oct 30 2017)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6047 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-30 13:08:55 +00:00
b35f362f31 fpspreadsheet: Fix xlsx reader aborting if an error cell does not contain an error code (see http://forum.lazarus.freepascal.org/index.php/topic,38726.0.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6046 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-28 20:30:33 +00:00
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
7e7044bb6f fpspreadsheet: Fix parameter AOverwriteExisting in TsWorkbook.WriteToFile.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6042 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-26 07:54:09 +00:00
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
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
ea26c9887d fpspreadsheet: Improved percent format detection (allow space between number mask and percent character).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6033 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-05 05:30:02 +00:00
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
709be76b4f fpspreadsheet: Add support for xls one-parameter SUM formulas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6031 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-10-04 12:36:16 +00:00
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
e688582c1c fpspreadsheet: Fix xlsx reader getting dimension of an empty worksheet incorrectly.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5988 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-07-25 09:40:05 +00:00
05bdb8bb88 fpspreadsheet: Fix violated file formation limitations when reading some xls files (http://www.lazarusforum.de/viewtopic.php?f=18&t=10824&start=15)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5987 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-07-24 15:18:13 +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
aa308d6bd2 fpspreadsheet: Add functions to initialize search and replace parameter records.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5946 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-06-17 22:16:58 +00:00
7d59e20f9f fpspreadsheet: Fix crash of visual controls when workbook.RemoveAllWorksheets is called. Visual controls can handle the case of active worksheet = nil.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5937 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-06-14 16:40:36 +00:00
25da629e34 fpspreadsheet: Allow writing duplicate filler palette entries like in the built-in Excel colors
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5867 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-05-18 15:03:20 +00:00
078274920d fpspreadsheet: Fill unused BIFF5 and BIFF8 palette entries by default colors to avoid Excel XP show an incomplete color dialog.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5863 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-05-18 10:50:22 +00:00
96e463a810 fpspreadsheet: fix typo that prevent Excel from reading xlsx files with comments
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5861 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-05-17 23:43:43 +00:00
5c409068c2 fpspreadsheet: Fix conversion of biff palette colors for fonts in reader.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5860 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-05-17 21:43:30 +00:00
e1f03daa5c fpspreadsheet: Fix biff format writing non-editable palette indexes to file (Excel cannot edit the cells any more - see http://forum.lazarus.freepascal.org/index.php/topic,36903.0.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5859 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-05-17 17:26:48 +00:00
59f0da6d91 fpspreadsheet: Fix Excel readers updating the workbook's default font.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5838 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-04-21 10:38:54 +00:00
e9ca7a1e2d fpspreadsheet: Fix writing vertically distorted images due to incorrect row height calculation (see http://forum.lazarus.freepascal.org/index.php/topic,31740.msg243224.html#msg243224)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5832 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-04-11 19:59:54 +00:00
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
b736103903 fpspreadsheet: Make WorksheetGrid respect the spSelectLockedCells and spSelectUnlockedCells flags in the worksheet's Protection set. Like in Excel, TsCellEdit displays an error message box if the user tries to focus it in case of a locked cell.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5815 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-20 11:10:02 +00:00
18965c7740 fpspreadsheet: Further integration of cell and worksheet protection in visual controls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5813 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-19 23:09:01 +00:00
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
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
b8da454852 fpspreadsheet: Add utility to crack an Excel password
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5803 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-08 22:44:09 +00:00
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
a5d8446783 fpspreadsheet: Initial version to display embedded images in the WorksheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5800 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-08 11:50:58 +00:00
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
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
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
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
06688f42e1 fpspreadsheet: Fix Excel password hash calculation (patch by shobits1).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5792 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 23:16:43 +00:00
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
b04fd3f0b5 fpspreadsheet: Add reading of cell, sheet and workbook protection to biff2 and biff5.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5790 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 17:29:20 +00:00
2f54a9bfca fpspreadsheet: Add reading of cell/sheet/workbook protection for xls biff8.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5789 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 16:52:17 +00:00
6126788bec fpspreadsheet: Refactor TsCryptoInfo record.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5788 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 12:25:29 +00:00
ffceb1932b fpspreadsheet: Add new unit fpscrypto.pas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5787 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 11:44:32 +00:00
3d454bf83b fpspreadsheet: Rename TsWorksheet.ReadProtection to TsWorksheet.ReadCellProtection
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5785 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-05 10:52:50 +00:00
b3110a90cc fpspreadsheet: Add support of workbook, worksheet, and cell protection for xlsx (modified patch by shobits1, see http://forum.lazarus.freepascal.org/index.php/topic,36075.0.html). Add protection unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5783 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-04 21:29:12 +00:00
b9cbc1b174 fpspreadsheet: Fix csv unit test fails of some date/time values.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5778 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-02 11:18:27 +00:00
4ce25109a8 fpspreadsheet: Read/write worksheet hidden state for biff8 and biff5.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5775 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-03-01 20:01:14 +00:00
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