005434006f
fpspreadsheet: Split shared code for ooxml and ods readers off into new unit fpsxmlcommon.pas
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3378 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-25 16:31:34 +00:00
8d4572c39d
fpspreadsheet: Initial implementation of an OOXML reader (some files still crashing). Add ooxmlread demo to examples folder. Fix spready demo's incorrect *.xlsx file filter.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3374 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 22:22:26 +00:00
340efa7c8f
fpspreadsheet: Implement virtual reading mode for biff2 and ods.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3373 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 15:56:03 +00:00
5a65855a48
fpspreadsheet: Implement virtual reading mode for biff8 and biff5 (activated by workbook option boVirtualMode when reading). Add demo_virtualmode_read. Update speed test (factor 2 faster than standard mode, main advantage: no significant memory usage)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3372 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 11:51:34 +00:00
7f8e8fb312
fpspreadsheet: Rename virtual mode event handler OnNeedCellData to OnWriteCellData. Add another virtual mode event handler for reading, OnReadCellData.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3370 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:51:06 +00:00
37143dad97
fpspreadsheet: Rename folder fpsSpeedTest to fpsspeedtest
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3369 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:34:37 +00:00
fce1ea9409
fpspreadsheet: In fpolebasic manually delete an existing file before writing; this seems to fix a crash with Linux.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3367 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:09:47 +00:00
6959ebb070
fpspreadsheet: Rename test_* projects in folder examples/other to demo_*. Remove dependence on laz_fpspreadsheet package for easier testing, use unit directory for compiled files. Add readme.txt for this folder.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3366 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 20:52:35 +00:00
ed409c445a
Fix using correct locale settings in Ubuntu.
...
Workaround for crash of test suite in Ubuntu due to not deleting existing xls file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3365 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 16:00:01 +00:00
40e2a85bd1
fpspreadsheet: clean up examples: progress messages; remove win32 gui for console applications etc
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3362 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 10:47:38 +00:00
667e36f420
fpspreadsheet: harmonize debug & release modes for examples; e.g. don't generate debug info and then issue strip option
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3360 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 07:01:57 +00:00
22100c2f16
fpspreadsheet: Possibly fix unit dependence issue forcing to clean rebuilds. Modify project options of fpsgrid and spready to separate compilation platforms.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3358 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-22 22:49:30 +00:00
064dd6aba2
fpspreadsheet: Extend TBufStream for reading. Rename workbook's WritingOptions to Options, and the option flags from woXXXX to boXXXX. Use boBufStream (former woBufStream) to activate TBufStream for reading of xls and ods. Speed up reading of biff2 by factor 3 (rel to commit before prev one). Fix pile-up of temporary files when saving ods.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3357 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-22 15:59:29 +00:00
ba37ace85f
fpspreadsheet: Read entire biff record of label and number cells to speed up reading (30% improvement for biff2). Numerous clean-up, mostly debugger settings.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3355 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-21 20:33:25 +00:00
7fe3c4402a
fpspreadsheet: Add tool for measuring writing and reading speeds for various file sizes and options. Based on a tool by rvk ( http://forum.lazarus.freepascal.org/index.php/topic,25142.msg152919.html#msg152919 ).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3354 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-21 18:00:29 +00:00
7a3a9060e9
fpspreadsheet: Fix memory leak in virtual mode due to incorrectly initialized strings in the cell record.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3352 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-20 18:19:43 +00:00
08987b52c8
fpspreadsheet: Use TBufStream as general-purpose stream if woBufStream is set in Worksheet.WritingOptions. woBufStream replaces woSaveMemory. Results in a significant speed enhancement for biff2 (64000x100 cells -> 31 sec without, 1.7 sec with woBufStream).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3337 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 13:23:12 +00:00
7f6277ca08
fpspreadsheet: Add unit fpsstreams containing a buffered stream for speed-up of writing in virtual mode.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3331 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-18 22:48:38 +00:00
4c723b9fc3
fpspreadsheet: Convert some more biff methods such records are written in a single block (biff2: WriteLabel, WriteNumber, all: WriteFormat, WriteBlank, WriteColInfo).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3325 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 21:00:49 +00:00
7db78ca670
fpspreadsheet: Add first unit test cases for virtual mode (all biff, ooxml /writing only)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3323 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 15:49:58 +00:00
6d4175c72a
fpspreadsheet: Writing of date/time values to xlsx files. Date/time formats working.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3322 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 15:16:46 +00:00
be3e5d16ac
fpspreadsheet: Speed up biff writing for number and label cells in woSaveMemory mode by a factor of 4 (writing complete records instead of single bytes and words)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3321 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 14:59:48 +00:00
e3c0eb2dc0
fpspreadsheet: Write custom row heights and column widths to xlsx files. Works in virtual mode also.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3320 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 13:31:45 +00:00
9607fc8e88
fpspreadsheet: Extend the event OnNeedCellData by a template cell which can be used for formatting when saving a file in virtual mode.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3317 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-14 15:04:04 +00:00
dc1d5d038a
fpspreadsheet: Add wordwrap to writing of xlsx. Fix some minor issues forgotten with xlsx border and background color.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3316 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-14 07:58:45 +00:00
f596a181b3
fpspreadsheet: Support for writing cell border (on/off, linestyle, color) and background color to xlsx files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3315 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-13 22:09:27 +00:00
8d6ec7316c
fpspreadsheet: Remove string-based writing code of ods files --> significant speed improvement particularly for large grids (20000x100 cells 120 sec (old) --> 7 sec (new)).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3311 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-12 21:51:44 +00:00
e6e961d51f
fpspreadsheet: Add WriteBlank to TsSpreadOOXMLWriter to standardize code.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3309 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-11 20:00:49 +00:00
231b127041
fpspreadsheet: Implement virtual mode for all biff file formats. Add record limitations with writer-specific max row and col counts: a file is not written to a particular file format if it exceeds the limitations of the file format.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3307 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-11 13:20:14 +00:00
e2391c142b
fpsreadsheet: Introduce "virtual writing mode" where the writer does not get its data from the spreadsheet, but from an event ("OnNeedCellData"). Introduce stream switching for xlsxooxml. Both feature allow to write HUGE spreadsheet files. Add example "test_virtualmode".
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3306 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-10 20:43:46 +00:00
d1ef94451a
fpspreadsheet: Fix invalid xml characters issue in writing xlsx files (see http://forum.lazarus.freepascal.org/index.php/topic,25110.msg152030.html#msg152030 ).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3300 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-08 20:52:59 +00:00
328cce376e
fpspreadsheet: Delete test_formula_func.lps
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3295 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-07 14:07:54 +00:00
9f226d94bd
fpspreadsheet: Add interest rate calculation to complete financial functions supported by fpspreadsheet. Extract financial stuff into separate unit "financemath.pas" which will be proposed as a fpc feature request.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3294 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-07 12:04:33 +00:00
803c910ac6
fpspreadsheet: Add formula financial function NPER to user-defined formula demo.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3291 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-06 19:13:05 +00:00
aad8798b82
fpspreadsheet: Remove unused unit from excel8read project
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3286 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-05 21:51:04 +00:00
a62bba2b72
fpspreadsheet: Add financial function PV and PMT to test_formula_func demo.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3285 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-05 21:48:12 +00:00
bab574b3b4
fpspreadsheet: rename the Create* funtions needed for for formula calculation to Create*Arg
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3282 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-04 21:17:15 +00:00
20645fb0c4
fpspreadsheet: Fix calculation of cells destroying number formats.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3274 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 19:28:42 +00:00
81ff33e7d6
fpspreadsheet: Fix incorrect column names left in ooxml format (issue #0026447 )
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3273 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 16:12:43 +00:00
359ddca7b8
fpspreadsheet: Support cell ranges in calculation of rpn formulas. Tune fpfunc unit. Update test cases.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3272 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 15:38:15 +00:00
4741c857a8
fpspreadsheet: Introduce recursive calculation of cells depending on non-yet calculated cells. Add demo "test_recursive" in folder "other".
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3271 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 08:52:12 +00:00
b15721dd9b
fpspreadsheet: Allow to register user-provided functions for calculation of rpn formulas for which fpspreadsheet does not have a built-in calculation method (example: financial functions). Add example "test_formula_func" in folder "other".
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3270 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-02 22:03:03 +00:00
8a41c46316
fpspreadsheet: Fix compilation issues introduced in last commit.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3268 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-02 19:25:37 +00:00
c82e915262
fpspreadsheet: Fix remaining utf8 issues when reading/writing rpn string formulas. Fix BIFFExplorer issues when displaying biff2 formulas. Excel complains about data loss when reading a biff2 file containing a calculated formula having a string result - not fixed yet.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3266 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-02 11:51:59 +00:00
9bcb71a1fc
fpspreadsheet: Beginning to calculate rpn formulas
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3248 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-27 14:24:23 +00:00
30569b00c0
fpspreadsheet:
...
- laz_fpspreadsheet packages does not need to be designtime, so do not register it
- cosmetic: example projects are .lpr not .dpr; reflect in comments
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3242 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-26 07:15:51 +00:00
421fb86dcf
fpspreadsheet: Improved display of formula result details in BIFFExplorer.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3240 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-25 14:05:07 +00:00
9eefbdaa06
fpspreadsheet: Fix bug 0026386 (in Excel, all sheets must be "active" and "selected"). New chm help file. Fix some issues with spready and fpsgrid due to range check errors. BiffExplorer shows detail info on SHEETPR record.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3236 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 22:47:15 +00:00
42a0431063
* fpspreadsheet: wikitable demo: clarify read/write interoperability problems.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3234 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 15:27:32 +00:00
bc0575cd77
fpspreadsheet: Add demos for wikitables. Reader not working (Rainier, could you have a look?)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3230 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 12:06:20 +00:00