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
2692b9beb6
fpspreadsheet: Rename TsWorksheetGrid method NewWorksheet to NewWorkbook (because that's what it does). Add doc-o-matic comments to fpspreadsheetgrid.pas.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3229 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 11:45:16 +00:00
ebfabd1010
fpspreadsheet / spready demo: Formula edit line now shows unformatted number, like Excel and Calc do. A value edited in the formula edit line is now transferred to the worksheet (ignoring formulas so far).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3226 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 14:32:44 +00:00
897ad1d9d2
fpspreadsheet: In TsWorksheetGrid, draw a borderline along frozen panes. Fix black background color appearing when re-saving an fpspreadsheet-created workbook in Excel. Some more extended comments for doc-o-matic.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3224 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 13:49:12 +00:00
24fac70d0c
* fpspreadsheet: add readme.txt files for demos
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3223 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 11:56:12 +00:00
13a9fb2603
fpspreadsheet: Remove built-in number formats nfSci (not suppored by ods and fpc) and nfAccounting/nfAccountingRed (too much display-oriented, too cumbersome to implement for reading and displaying in the grid). If needed in Excel they can still be written using nfCustom. Update all files and tests for these now no longer existing formats.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3222 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 09:15:56 +00:00
979d97ffd0
fpspreadsheet: Simplify fpsgrid demo (only new/load/save functionality). More complex version of the demo is available now as demo program "spready". Add "WriteCellAvalueAsString" to TsWorksheet which guesses from the passed string whether it is a number, percentage, date, or time.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3213 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-22 13:49:48 +00:00
d75755c1ff
fpspreadsheet: Read frozen panes from ods files. Add test case for writing/reading of ods panes, passed.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3210 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-21 16:09:08 +00:00
e3ece8a30b
fpspreadsheet: Write frozen panes to ods files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3209 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-21 12:19:19 +00:00
34bfc55a37
fpspreadsheet: Experimenting with doc-o-matic (nice tool). Beginning to standardize comments for usage by doc-o-matic. Update chm help file.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3208 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-20 23:06:29 +00:00
a85adcb61a
fpspreadsheet: Reducing hints and warnings, still a lot...
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3203 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-19 19:25:40 +00:00
888f605851
fpspreadsheet: Fix some date/time format display issues for ods.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3202 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-19 17:56:29 +00:00
d99cddeb90
fpspreadsheet: Fix time interval format with custom format string not being written correctly to biff.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3193 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-18 08:39:54 +00:00
5bc0898317
fpspreadsheet: Add note to examples\*read to run the *write program if input file does not exist. Activate all commented code in the examples.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3192 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-18 08:07:00 +00:00