Commit Graph

1128 Commits

Author SHA1 Message Date
89942f1bd3 fpspreadsheet: Fix memory leak (ignored format string and dyn formula array when freeing cells)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2941 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-17 20:13:38 +00:00
1f84822607 fpspreadsheet / BiffExplorer: Add info on records COLINFO, COLWIDTH, NOTE, OBJ; some cosmetics in MainForm.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2940 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-17 17:36:43 +00:00
afcb50a0be Cosmetic: document fekOpSUM cannot be used for ranges
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2939 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-17 12:25:40 +00:00
32f6b81a6d fpspreadsheet: Add BiffExplorer, a testing and debugging tool for xls files, to folder "reference"
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2938 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-13 10:58:41 +00:00
f32fa5b568 * Tests: clarify background color test only applies to BIFF8 XLS
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2935 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-09 10:49:05 +00:00
38f1612dbf * Fix inadvertent change BIFF8=>BIFF5 tests
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2934 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-08 10:27:50 +00:00
617ba13515 * Tests: fix not writing testmanual.xls
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2933 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-08 10:26:21 +00:00
435cc15729 * Replace XLSDEBUG define for writeln debug output to FPSPREADDEBUG as it is used beyond just xls support.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2932 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-08 09:53:02 +00:00
27498ff548 + Add support for more/easier RPN formulas in XLS
- Allow relative cell references in RPN formulas
- Simplify generation of RPN formulas by using nested function calls
- Add writing of cell ranges for formulas in BIFF2/BIFF5
- Simplification of code e.g. by replacing the huge case instruction in TsSpreadBiffWriter.FormulaElementKindToExcelTokenID by a look-up table.
Fixes mantis issue #25718; patch by wp; thanks a lot!



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2931 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-08 09:48:30 +00:00
b7eb5352c0 * Tests updated to work with current code (i.e. no new RPN support yet).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2930 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-08 09:33:13 +00:00
d8c10d8668 * Tests part of patch referenced issue 25718 (actual patch on forum) for RPN formulas. Thanks wp.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2929 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-07 16:42:19 +00:00
f95e48563a * OpenDocument .ods: tweaked support for reading time only fields introduced in r2908: fixes for 1899/1900/1904 date mode. Still needs more tweaks for 1904 date mode (and presumably 1900 as well)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2924 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-26 10:26:43 +00:00
3bbc720e3c * Tests: avoid test errors for unimplemented custom format ODF cells
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2919 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-25 15:46:05 +00:00
78ec763d6a * Forgot some files
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2918 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-25 15:45:10 +00:00
8faeace234 Cosmetic: better test reporting database
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2917 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-25 14:44:04 +00:00
cc13dd5c5f OpenDocument .ods:
* ignore invalid times



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2915 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-24 07:34:00 +00:00
12a4c4c07b * LibreOffice/ODS format: fix time-only calculations exceeding EncodeDate limits
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2909 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-23 13:06:19 +00:00
b70f1be9c3 + OpenDocument .ods: initial support for reading time only fields. To do: needs additional support for 1900/1904 date mode.
+ OpenDocument: naive speed improvement for reading repeated rows/columns.



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2908 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-23 11:36:36 +00:00
52b97c050d + Tests: add support for LibreOffice/OpenOffice .ods spreadsheets
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2907 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-23 11:34:37 +00:00
400bf62aba * OpenDocument/OpenOffice/LibreOffice date/time read fix; code adapted from curtisnewton, thanks a lot! Fixes mantis issue #25585
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2890 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-01-24 10:32:23 +00:00
c3161bff2b Explicitly specify test source file codepage as UTF8. Only works on FPC trunk. Tested on FPC trunk and FPC 2.6.2 x86, Windows.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2880 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-01-08 15:41:43 +00:00
f76acb185e * Correction for r2871: less ugly, more efficient code.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2873 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-28 16:01:15 +00:00
0368dda4a8 + Expanded fpsgrid example to be able to load/save first sheet of spreadsheet files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2872 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-28 15:29:22 +00:00
9351660d56 * Correct color output for background colors, see thread
http://forum.lazarus.freepascal.org/index.php/topic,19887.0.html
  and testmanual.xls from test suite.

  To do: needs verification on big-endian systems.
  To do: scWheat etc (the colors after grayx%) still don't work.



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2871 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-27 18:01:59 +00:00
86a42c6c02 * Tests: cosmetic/slight tightening file exist test
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2870 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-27 13:55:56 +00:00
449252cbe6 * tests: test WriteToFile AOverwriteExisting, hopefully catches error reported in
http://forum.lazarus.freepascal.org/index.php/topic,23051.msg137012.html#msg137012



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2869 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-27 09:32:10 +00:00
75b5c4188f * Test suite: fix r2863 invalid sheet name (at least when opening with Excel) for formatted text test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2868 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-23 13:39:30 +00:00
018f05324b + Initial write date/time cell support for opendocument/OpenOffice/Libreoffice
To do: adjust test suite for .ods files



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2867 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-23 13:35:36 +00:00
93206c37ca * Cosmetic/comments
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2866 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-23 13:16:32 +00:00
6a4ff4c1c2 * Correction to r2863: use ISO 8601 format for WriteDateTime text output (currently every format except BIFF8 xls).
Ensures resulting files are interoperable regardless of OS locale settings, conforming to date/time cell support in BIFF8.



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2865 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-23 12:11:20 +00:00
f7dfeba208 * Excel8write.lpr demo compile fix for r2863 by wp
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2864 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-22 18:09:55 +00:00
7f7d07f151 + Add support for text/number/date formats in BIFF8/xls.
+ Add support for writing out date/time to non-BIFF8 xls (though as text only for now)
  Slightly modified patch by wp, thanks a lot. 
  See
  http://forum.lazarus.freepascal.org/index.php/topic,22940.msg136761.html#msg136761

Still to do: add test cases for invalid format strings



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2863 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-22 14:02:04 +00:00
f1c9fb3597 * TsWorksheet.ReadAsUTF8Text: readasdate also reads time values unless sure cell is date-only. Thanks wp for the suggestions!
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2861 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-10 12:23:02 +00:00
da12b16bb5 * tests: fix testsutility.pas file type.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2860 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-10 12:10:28 +00:00
a98a75327e Tests:
+ added test for GetSheetByName function
+ Added TSpreadInternalTests.ReadDateAsUTF8 to test wp's ReadAsUTF8 forum problem report with date/time cells
* Fixed displaying sheet+column where problems occur (CellNotation function)



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2859 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-10 12:06:12 +00:00
abd8d0bea8 + Add date/time/datetime read/write support for BIFF8 xls format. No plans for earlier formats though the code could be adapted
+ XLS BIFF8: added DATE and TIME worksheet functions to RPN formula
* Allow writing formulas,numbers etc using cardinals increasing row/column limits for formats that support it.
* Add checks for text cell size limits when writing xls, xml. If exceeded, cell text will be truncated (better than corrupting the xls file - e.g. try to open it with Excel 2002 - as happens now with xls format)
* Formats that use fpspreadsheet zip have extra checks to prevent crashes for invalid zip dates
+ Use FPC built-in zip format when using FPC 2.7.1+ as it has fixes/improvements (e.g. zip64 support)
+ Added FPCUnit test suite to test reading and reading writing files. For now uses BIFF8 xls; contributions for other formats and more tests welcome. See the tests subdirectory.
+ Add link to msodumper tool for reference/debugging/troubleshooting .xls output

Fixes Mantis bugtracker issue #25388



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2857 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-07 13:42:22 +00:00
2172ae9c6e fpspreadsheet: Minor bug fix from forum http:\/\/forum.lazarus.freepascal.org\/index.php\/topic,22667.0.html
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2844 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-11-21 16:13:02 +00:00
fa1ffd579f NaN (Not A Number) values now are read as '' (nothing) instead as "NaN".
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2760 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-07-03 00:01:48 +00:00
30bcff1574 Removed uneeded test code.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2759 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-07-02 23:59:57 +00:00
3517fb8a2c Fixed missing assignment of "DIF first sector", now xls files can be bigger than 7 megabytes.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2758 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-07-02 23:27:25 +00:00
a624b7f671 Handle ID_CONTINUE inside some tags.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2757 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-07-02 15:07:43 +00:00
238e173677 fpspreadsheet: Adds support for RGB colours
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2750 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-06-12 11:02:02 +00:00
be328215cd fpspreadsheet: Minor wikitable fixes
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2749 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-06-11 14:34:28 +00:00
89c7433d5d fpspreadsheet: Adds read/write wiki table format support and some improvements to the base routines
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2747 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-06-11 14:15:59 +00:00
9729dd4d09 fpspreadsheet: Reorganizes the formula writing routine and some comments
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2678 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-02-13 07:38:57 +00:00
6f670fd14d Patch from bug 23733: Adds codepage support to BIFF2
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2677 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-02-13 07:22:29 +00:00
698d941bf1 fpspreadsheet: Fixes a bug with the STT table of strings and the CONTINUE record. The bug prevented reading STT strings after the CONTINUE
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2676 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-02-12 14:49:43 +00:00
e70e659419 fpspreadsheet: Greatly improves the biff8 formula writing, now supports ABS and fixed =Cell+Cell
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2674 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-02-12 12:13:49 +00:00
af3ee31a25 fpspreadsheet: Adds support to writing the formatting of formula and number cells in XLS
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2671 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-02-12 11:29:19 +00:00
95ddacdc6a fpspreadsheet: Patch from bug 22398 which improves the biff2 reader
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2600 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-12-11 16:53:54 +00:00