Commit Graph

201 Commits

Author SHA1 Message Date
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
499efd7b8c fpspreadsheet: Fix compilation with fpc before 3.0
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6363 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-05-01 10:23:42 +00:00
b6e1a4c495 fpspreadsheet: Fix WorksheetGrid not being able to delete a cell block.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6323 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-19 20:30:43 +00:00
0e4645f9bf fpspreadsheet: Check (and fix) compilation of all demo projects (changed handling of include files in fpc 3.0.4)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6317 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-18 11:42:22 +00:00
7c9bda8104 fpspreadsheet: Add events OnGetColHeaderText and OnGetRowHeaderText to override the default column and row header captions of the WorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6302 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-12 20:07:34 +00:00
56f7814556 fpspreadsheet: Fix xls format using incorrect font index in SST (see https://forum.lazarus.freepascal.org/index.php/topic,40784.0.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6292 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-05 10:42:01 +00:00
2dfd81b11b fpspreadsheet: Comment an unfinished border drawing routine which made it into the previous commit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6286 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-01 13:43:02 +00:00
51c6c2940e fpspreadsheet: Avoid selecting a non-base cell of a merged block (patch by wofs, https://forum.lazarus.freepascal.org/index.php/topic,40726.msg281408.html#msg281408).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6285 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-01 13:38:57 +00:00
43d34422ad fpspreadsheet: Fix TsCellIndicator to display only the base of a merged block
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6284 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-04-01 10:55:28 +00:00
bcc69621fb fpspreadsheet: Change default csv encoding back to utf8 without bom, because importing csv into Excel and Calc is probably not the most important application of fpspreadsheet, and many other programs will not expect a bom in a text file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6258 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-03-18 23:03:57 +00:00
15a617af53 fpspreadsheet: Use UTF8 with BOM as default encoding for CSV reader/writer (better compatibility with Excel/LOCalc, see https://forum.lazarus.freepascal.org/index.php/topic,40527.msg280025.html#msg280025)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6257 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-03-18 22:51:08 +00:00
a70231ab75 fpspreadsheet: Make sure that the local variable commentcell_rct in TxCustomWorksheetGrid.InternalDrawRow is initialized (issue #33413, patch by Lagunov Aleksey).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6234 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-03-11 21:06:49 +00:00
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