Commit Graph

213 Commits

Author SHA1 Message Date
b2cc14f2bc fpspreadsheet: Clean-up
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6520 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-21 08:45:14 +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
92a061388c fpspreadsheet: Fix grid behavior when navigating to another cell and the currenly edited cell contains a formula with error.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6503 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-17 21:53:40 +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
29f1533516 fpspreadsheet: Extend fpspreadsheet actions to supply default captions and hints.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6493 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-13 21:51:40 +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
cc7ef858c4 fpspreadsheet: Fix circular reference issue and #REF! issue for some formulas (https://forum.lazarus.freepascal.org/index.php/topic,41161.msg288278.html#msg288278)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6486 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-10 20:20:50 +00:00
8c181f7e62 fpspreadsheet: Install TFileName property editor for Laz < 1.9. Fix compilation of fps packages for Laz >= 1.0 (could not compile Laz 1.2, though).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6471 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-07 08:42:11 +00:00
2e1e4532ff fpspreadsheet: Reinstate PropertiesToSkip lost when the packages were separated.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6470 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-06 11:30:09 +00:00
82eaed4d0b fpspreadsheet: Fix compilation of package laz_fpspreadsheetexport_visual
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6469 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-06 04:51:50 +00:00
ff9deb89c2 fpspreadsheet: Fix pasting of multiselection from clipboard (was related to incorrect recordsize of BIFF SELECTION record).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6468 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 23:34:16 +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
4517d6fc12 fpspreadsheet: Fix sudden fails of test suite (Why did these test cases work earlier?)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6465 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 09:33:29 +00:00
f4154f2265 fpspreadsheet: Write cell strings to BIFF8 SST only if strings are longer than 255 characters --> speed-up
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6464 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 08:43:41 +00:00
8635510f53 fpspreadsheet: Delete fpsexportreg.pas from the source/export folder (moved to source/design)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6463 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-05 08:28:25 +00:00
06c3a04c78 fpspreadsheet: Split package laz_fpspreadsheet_visual into a runtime and designtime package.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6461 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 21:01:35 +00:00
a2efe76773 fpspreadsheet: Move package files from source folder to root of installation.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6460 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 19:36:21 +00:00
8ee5fe1200 fpspreadsheet: Fix reading of shared formulas in xls BIFF5 and BIFF8 (no shared formulas in BIFF2)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6459 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 19:05:07 +00:00
f3ae814cc5 fpspreadsheet: Fix reading of shared formulas in XLSX.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6458 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 14:54:02 +00:00
fb9917e10c fpspreadsheet: Fix crash when copying a formula to the clipboard (see https://forum.lazarus.freepascal.org/index.php/topic,41161.msg287786.html#msg287786)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6457 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 13:42:36 +00:00
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
394c8032df fpspreadsheet: Fix 3d formulas not changing when rows/cols are inserted/deleted in referenced sheets.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6454 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-04 09:47:08 +00:00
6c19ca21cb fpspreadsheet: Fix crash when referenced worksheet does not exist.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6453 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-03 11:07:42 +00:00
115a423be5 fpspreadsheet: Fix crash when a row is deleted with a formula and referenced cells of another formula (see discussion in https://forum.lazarus.freepascal.org/index.php/topic,41161.msg287707.html#msg287707).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6452 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-02 16:35:14 +00:00
3edd24a215 fpspreadsheet: Fix worksheetgrid not showing column titles (A, B, C, ...) any more after Lazarus r57969.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6451 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-02 16:18:16 +00:00
c7f9a9e7cb fpspreadsheet: Some clean-up.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6450 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-02 16:15:44 +00:00
f68c5da31c fpspreadsheet: Fix iterative 3d formula correction terminating prematurely.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6449 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-02 11:46:57 +00:00
79f14f6143 fpspreadsheet: Fix 3d formulas when worksheets are renamed or deleted. Add corresponding test cases.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6448 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-01 17:58:14 +00:00
a6900014cf fpspreadsheet: Use a StringHashTable for the SST needed when writing BIFF8 (significant speed-up of files with many strings, but still considerably slower than BIFF5 and BIFF2).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6447 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-31 16:22:41 +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
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
b9ac1ebf02 fpspreadsheet: Introduce infrastructure to fix formulas when sheets are added, renamed etc. Not functional at the moment.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6442 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-21 08:28:51 +00:00
fd2a79771a fpspreadsheet: Update cell flag cf3dFormula after parsing of a formula.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6424 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 22:31:30 +00:00
79d7b2dc54 fpspreadsheet: Fix formula cell with 3d reference not updating when referenced cell is deleted.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6423 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 20:41:03 +00:00
b94ba1fac6 fpspreadsheet: Simplify handling of 3d references. Fix bug related to 3d reference type 'Sheet1:Sheet2!A1'.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6422 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 17:44:02 +00:00
613c96821c fpspreadsheet: Ignore the order of indexes in cell ranges when parsing formulas. Add corresponding unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6420 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-16 08:45:28 +00:00
8adcbb27cd fpspreadsheet: Fix creation of erratic sheets by XLSX reader if not-yet-existing sheets are referenced in formulas during reading.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6415 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-15 12:05:18 +00:00
4ab667eb30 fpspreadsheet: Fix PageLayout. Separate BIFF5 and BIFF8 handling of 3d references.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6412 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-15 07:37:50 +00:00
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
d2351b5559 fpspreadsheet: Fix 3d cell references with a single other sheet (Sheet1!A1:C3), except for ODS. 3d references with several sheets prepared (not tested yet). Some more unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6408 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-13 10:15:13 +00:00
bc685aaeb8 fpspreadsheet: Write single-sheet 3d references (e.g., 'Sheet1!A1:B6') to BIFF8 (xls). Issues with reading.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6405 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-11 23:18:10 +00:00
4f4c913ac0 fpspreadsheet: Read and write xlsx files with formulas containing internal references to a range of cells within the same sheet (e.g., 'SUM(Sheet2!A1:B5)' ).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6403 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-10 17:58:05 +00:00
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
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
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
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
7416450bf4 fpspreadsheet: Avoid creating a blank cell if the row/col indexes passed to Worksheet.ReadAsText(row, col) are those of a non-existing cell (see https://forum.lazarus.freepascal.org/index.php/topic,41132.msg284876.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6377 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-04 07:43:48 +00:00