Commit Graph

248 Commits

Author SHA1 Message Date
wp_xxyyzz
7ce43cda63 fpspreadsheet: Fix boolean formula failures in unit tests (probably introduced by r6570).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6643 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-11 17:21:40 +00:00
wp_xxyyzz
920fae9fe0 fpspreadsheet: Fix the same issue for columns that was fixed in prev commit for rows
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6640 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-10 15:22:41 +00:00
wp_xxyyzz
4260c5bd5e fpspreadsheet: Fix file reader deleting row records of hidden rows.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6639 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-10 09:00:48 +00:00
wp_xxyyzz
00ea419596 fpspreadsheet: Fix uninitialized hidden row state when reading xls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6638 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-09 16:46:39 +00:00
wp_xxyyzz
8a98b1856e fpspreadsheet: Read hidden state of row/column records in ODS format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6636 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-06 10:06:22 +00:00
wp_xxyyzz
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
wp_xxyyzz
02787a6947 fpspreadsheet: Write row/column hidden flag to XLSX, BIFF8 and BIFF2
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6632 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-09-05 23:04:49 +00:00
wp_xxyyzz
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
wp_xxyyzz
72b96f5788 fpspreadsheet: Fix reading/writing of ods files with quoted sheetnames (https://forum.lazarus.freepascal.org/index.php/topic,42396.msg295937.html#msg295937)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6629 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-30 17:43:42 +00:00
wp_xxyyzz
02e90b8949 fpspreadsheet: Fix usage of empty cells as numeric value 0 in formulas (https://forum.lazarus.freepascal.org/index.php/topic,42396.msg295893.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6627 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-30 15:06:33 +00:00
wp_xxyyzz
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
wp_xxyyzz
0d87d88c08 fpspreadsheet: Fix range-check-error when reading an xls file with header/footer (issue #34177, patch by Domenico Mammola)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6612 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-24 11:27:21 +00:00
wp_xxyyzz
f8f096dcf8 fpspreadsheet: Quote sheet names if they contain illegal characters for the expression parser.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6607 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-17 12:00:02 +00:00
wp_xxyyzz
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
wp_xxyyzz
3767c1a2c9 fpspreadsheet: Fix BIFF to correctly read relative cell address ranges from xls files (https://forum.lazarus.freepascal.org/index.php/topic,42241.msg294536.html)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6604 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-16 13:19:46 +00:00
wp_xxyyzz
2e8c9b626c fpspreadsheet: Fix detection of two-part time format such as 'H:MM;@' in ODS files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6597 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-11 20:54:50 +00:00
wp_xxyyzz
3e79a95fc1 fpspreadsheet: Fix detection of underlined and strike-through font in xlsx files not written by Excel.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6595 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-11 12:44:52 +00:00
wp_xxyyzz
089a63532a fpspreadsheet: Redo prev two commits in a more general way.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6590 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-11 08:24:08 +00:00
wp_xxyyzz
f10b07cd0f fpspreadsheet: Fix detection of word-wrapped cells in xlsx files written by LibreOffice Calc
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6589 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 22:08:08 +00:00
wp_xxyyzz
5c21f2ae11 fpspreadsheet: Fix xlsx reader not detecting upper-case time format ('H:MM') written by LibreOffice Calc.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6588 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 15:37:28 +00:00
wp_xxyyzz
ec8ada57a7 fpspreadsheet: Fix reading of spurious cell borders of xlsx files written by PlanMaker.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6587 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 15:12:39 +00:00
wp_xxyyzz
9a3ee0016f fpspreadsheet: Fix incorrect right-to-left alignment of xlsx files introduced by prev commit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6586 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 15:04:13 +00:00
wp_xxyyzz
1c7bd8d915 fpspreadsheet: Relax detection of boolean xml attributes for better reading of xlsx files written by LibreOffice Calc.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6585 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 14:21:10 +00:00
wp_xxyyzz
1a0404f2ee fpspreadsheet: Fix reading of shared formulas in xls files (bug introduced by the new calculation engine).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6584 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 11:47:33 +00:00
wp_xxyyzz
e908d9ba3b fpspreadsheet: Fix reading of all BIFF formula attributes, also for BIFF2.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6581 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 09:41:18 +00:00
wp_xxyyzz
7f09efa7de fpspreadsheet: Fix xls reader rejecting formulas with embedded line-break tokens.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6580 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-10 08:15:18 +00:00
wp_xxyyzz
1da8569c84 fpspreadsheet: Fix reading of IF formulas written by Excel (modified patch by Soner, https://forum.lazarus.freepascal.org/index.php/topic,42168.msg293864.html#msg293864).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6578 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-09 22:42:36 +00:00
wp_xxyyzz
ba5e4da9be fpspreadsheet: Fix bug in formula parser when scanning of ods cell addresses (incorrect extraction of row index).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6577 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-09 22:00:21 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
a52d81d804 fpspreadsheet: Fix captions and hints of spreadsheet actions not being changeable.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6565 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-24 22:02:01 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
92f59fbfd1 fpspreadsheet: Prepare for release 1.10
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6547 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-07-06 16:15:51 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
03d8694142 fpspreadsheet: Add unit tests for some of the recently fixed formulas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6541 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 23:08:01 +00:00
wp_xxyyzz
cba608d725 fpspreadsheet: Fix also the case that ISBLANK must return FALSE if the argument is an empty string.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6538 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 17:19:22 +00:00
wp_xxyyzz
fa0cc2f50e fpspreadsheet: Fix typo in evaluation of formula ISBLANK.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6537 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 17:07:06 +00:00
wp_xxyyzz
78e381e14d fpspreadsheet: Fix "IF"-formulas (COUNTIF, SUMIF, etc) containing a 3D reference.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6536 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 16:51:44 +00:00
wp_xxyyzz
ce3d71a362 fpspreadsheet: Fix cell references in several formulas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6534 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 15:36:41 +00:00
wp_xxyyzz
d6b6154fff fpspreadsheet: Fix formula ROUND() if second argument is a cell reference.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6533 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-26 14:21:45 +00:00
wp_xxyyzz
ab52825725 fpspreadsheet: Fix memory leak occuring when the parser of a previously allocated formula record is changed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6521 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-06-21 10:02:25 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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