Commit Graph

109 Commits

Author SHA1 Message Date
aece082d53 fpspreadsheet: Read/write PageBreaks in xlsx format, write in Excel2003/xml format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7069 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-23 23:10:20 +00:00
6fb1f76bc2 fpspreadsheet: Introduce enum field "Options" of TRow and TCol records to replace boolean "Hidden". Prepare for new "PageBreak" option.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7068 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-23 14:41:55 +00:00
47e9e05399 fpspreadsheet: Refactor dialects in formula parser.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7067 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-22 17:49:17 +00:00
42926f53d3 fpspreadsheet: Ignore content detection when a cell is formatted as text (nfText).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7063 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-20 20:54:26 +00:00
e71408fc19 fpspreadsheet: Add worksheet option soAutoDetectCellType
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7059 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-20 10:21:39 +00:00
8e50105ca0 fpspreadsheet: Fix formula parser crashing with an R1C1 formula subtracting cells with a negative relative address.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7051 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-18 21:02:44 +00:00
3b0e46b92c fpspreadsheet: Fix Excel2003/XML format tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7050 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-18 15:58:16 +00:00
18afbfdd84 fpspreadsheet: Excel2003/XML reader supports formulas now.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7038 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-15 21:00:47 +00:00
8f706c4a8c fpspreadsheet: Fix writing of RC formulas for Excel2003/XML format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7037 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-15 11:03:34 +00:00
8ff3813be2 fpspreadsheet: Add format string to number format error messages.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7036 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-07-14 21:14:14 +00:00
b38dcbe737 fpspreadsheet: Fix index bug in TsWorksheet.SetIndex (reported by forum user "iteh")
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7012 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-06-17 15:09:48 +00:00
7585c5a3c9 fpspreadsheet: Rework of worksheet sorting, patch by Zoran (https://forum.lazarus.freepascal.org/index.php/topic,45474.msg321648.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7011 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-06-17 12:08:12 +00:00
21b927cc27 fpspreadsheet: Add property Worksheet.Index.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7005 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-06-09 23:15:10 +00:00
ae1719d0a3 fpspreadsheet: Another fix to default compare procedure for sorting worksheets.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6932 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-05-21 14:26:52 +00:00
e0213b0848 fpspreadsheet: Make default cell compare procedure public.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6929 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-05-20 11:49:44 +00:00
dfa57b80e9 fpspreadsheet: Fix infinite loop in Worksheeet sorting when the sorted range contains an empty cell. Make Worksheetgrid.Sort public.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6928 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-05-20 10:13:39 +00:00
9369e4d3ef fpspreadsheet: Fix cells being pasted in grid from clipboard when worksheet is protected.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6847 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-04-13 20:21:33 +00:00
a52a6a75a8 fpspreadsheet: Fix worksheet crashing when Font #4 is created.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6829 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-03-06 23:23:57 +00:00
a6e527d8c1 fpspreadsheet: Add to error log when a file with unknown formula is read.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6821 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-02-27 20:47:33 +00:00
748fea48a1 fpspreadsheet: Add method TsWorksheet.GetFormula to return the formula associated with a cell.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6818 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-02-24 11:25:28 +00:00
6858d3da86 fpspreadsheet: Introduce OnCalcWorkbook event to replace the (inefficient) fpspreadsheet workbook calculation strategy by one provided by the user.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6817 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2019-02-24 10:36:56 +00:00
495fcb92eb fpspreadsheet: Redo automatic file format detection: Add method CheckFileFormat to each reader for overriding (check file header or whatever).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6764 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-18 13:08:58 +00:00
e65331e881 fpspreadsheet: Improved format detection for user-defined file formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6762 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-18 09:43:08 +00:00
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
d597266e0d fpspreadsheet: Add basic infrastructure for chart support.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6742 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-12-01 23:02:22 +00:00
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
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
014658c6f2 fpspreadsheet: Read hidden state of row/column records for XLSX and XLS (BIFF5 and BIFF8) formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6635 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-06 09:47:01 +00:00
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
7e6025369f fpspreadsheet: Fix formulas not being recalculated when a cell value is deleted in the grid by DEL key (https://forum.lazarus.freepascal.org/index.php/topic,42365.0.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6615 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-27 21:09:21 +00:00
f5e6986eb7 fpspreadsheet: New behavior of DEL in WorksheetGrid: deletes only content, not format. Old behavior (delete everything) is CTRL+DEL now.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6605 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-16 13:33:11 +00:00
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
19e20fbdf7 fpspreadsheet: Fix sorting with multiple key columns or rows (issue #31886, patch by alex256).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6571 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-06 15:07:40 +00:00
d71884f3e2 fpspreadsheet: Improve prev commit. Fix math formulas with non-numeric strings not returning result #VALUE! Add unit tests for this.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-05 13:35:25 +00:00
a261ff7999 fpspreadsheet: Fix TsWorksheet not being able to change a time cell value (see https://forum.lazarus.freepascal.org/index.php/topic,42130.msg293480)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6569 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-04 17:31:51 +00:00
b735455c33 fpspreadsheet: Add worksheet methods to hide and show worksheet. Performs notification of visual controls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6558 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-11 22:11:04 +00:00
f3b9d0f2a0 fpspreadsheet: Fix duplicate unit message. Remove some hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6557 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-11 19:32:40 +00:00
2e252ce658 fpspreadsheet: Add new TsWorkbookTabControl property ShowAllSheets (to be used to hide sheets marked as hidden).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6555 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-10 09:25:25 +00:00
df88d02952 fpspreadsheet: Improved autodetection of file format (e.g. xls files renamed to xlsx - see https://forum.lazarus.freepascal.org/index.php/topic,41830.msg291032.html). Add corresponding test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6554 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-10 08:32:50 +00:00
25b83a1948 fpspreadsheet: Workbook.AddWorksheet creates a "duplicate workwheet" error message if new worksheet already exists. Update German translation.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6553 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-09 17:49:54 +00:00
4cdb95d86c fpspreadsheet: Set version to 1.11. Make default parameter of TsWorkbook.CopyWorksheetFrom non-default.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6552 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-09 17:27:22 +00:00
0097e6c586 fpspreadsheet: Fix Worksheet.EraseCell not removing formulas and comments.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6546 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-05 13:11:44 +00:00
b9979977f6 fpspreadsheet: Fix entering new data in existing formula not erasing formula. Add corresponding unit test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6545 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-05 12:51:54 +00:00
b8352398b0 fpspreadsheet: Avoid merging a newly loaded workbook with previous content and formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6519 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-21 08:44:16 +00:00
18395604ba fpspreadsheet: Fix navigation within worksheetgrid if in-place editor contains an erroroneous formula.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6514 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-20 16:57:20 +00:00
cfd6591e4a fpspreadsheet: Add worksheet method WriteCellFormatIndex (in addition to existing WriteCellFormat)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6495 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-13 22:22:44 +00:00
1d35a3b0c9 fpspreadsheet: Fix crash in Worksheet.GetEffectiveCellFormatIndex and add overloaded version.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6494 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-13 21:54:35 +00:00
f62d2b35d7 fpspreadsheet: Add TsClearFormatAction to clear a cell format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6492 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-13 09:20:10 +00:00
40092c09e2 fpspreadsheet: Replace previous commit (was buggy)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6467 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 19:23:19 +00:00
23b19c86c5 fpspreadsheet: Fix crash when a 3d formula is copied to the clipboard (Still crashing when pasting back...)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6466 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 14:08:53 +00:00