wp_xxyyzz
5bc25c482e
fpspreadsheet: Clean up. Silence some hints.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3473 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-12 14:52:57 +00:00
wp_xxyyzz
eaabdf67c1
fpspreadsheet: Make sure that biff writers do not write colors exceeding the maximum palette count. Add casse to error tests (passed, but the biff2 font color test fails now...)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3470 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-11 15:53:06 +00:00
wp_xxyyzz
ad1ae69544
fpspreadsheet: Log warning if BIFF writer tries to write more than 64 colors. More clean-up.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3468 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-11 11:16:43 +00:00
wp_xxyyzz
68aed47788
fpspreadsheet: Some clean-up, less hints
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3466 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-10 17:59:30 +00:00
wp_xxyyzz
a0a19eb380
fpspreadsheet: Write OOXML string formulas. Write biff2 dimension record.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3456 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 19:00:27 +00:00
wp_xxyyzz
8f666bec13
fpspreadsheet: Fix written oversized worksheets being defective, adapt BIFF writer's WriteDimensions method to be compatible with oversized worksheets.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3455 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 14:30:19 +00:00
wp_xxyyzz
ff059e3420
fpspreadsheet: Move log list from reader/writer to workbook for easier access. Add unit test for error logging (in internaltests). Improve OOXML writer to begin writing rows only from the first existing row, not from 0. (The ODS writer still does this, therefore, it creates a huge file for the error logging test - this test is currently deactivated for ods).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3446 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-07 22:24:22 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
9dc234ae22
fpspreadsheet: Unified writing code for rpn formulas. Calculation results of rpn formulas are now stored correctly for all biff versions.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3265 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-01 22:47:10 +00:00
wp_xxyyzz
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
bigchimp
d80d5427d4
* fpspreadsheet: standardize debug output to console/writeln: remove SHOWUNSUPPORTED define and replace with IFDEF for FPSPREADDEBUG
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3233 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 15:22:28 +00:00
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
d0927d2d03
fpspreadsheet: Further reduction of hints and warnings
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3206 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-20 15:58:22 +00:00
wp_xxyyzz
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
wp_xxyyzz
49e99a74b5
fpspreadsheet: Add reading of rpn formulas.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3082 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-23 13:16:01 +00:00
wp_xxyyzz
fb92d5a906
fpspreadsheet: Bug fixes for biff2 reading/writing for number formats
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3075 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-21 23:01:07 +00:00
wp_xxyyzz
47d624ab46
fpspreadsheet: Improved reading of results of functions returning strings, booleans, or errors. Optional tests in test suite producing an error when Excel reads the test file.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3050 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-16 08:17:49 +00:00
wp_xxyyzz
c3f5600c0d
fpspreadsheet: Read results of formulas that return strings
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3045 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-14 16:30:33 +00:00
wp_xxyyzz
c36a5e80ce
fpspreadsheet: Building a number format list which allows to drop most of the restrictions of the previous versions like number of decimal places. New number format "nfCustom" which passes the format string directly to the file.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3044 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-14 15:24:02 +00:00
wp_xxyyzz
75f2a8c0a5
fpspreadsheet: Remove reading code for RK and MULTRK records from xlsbiff5 and xlsbiff8, use the xlsbiff8 versions in xlscommon. --> Formatting of RK and MULRK works now for biff5 as well.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3042 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-11 16:45:42 +00:00
wp_xxyyzz
e00fedff8b
fpspreadsheet: Add reading support for MULBLANK records (BIFF5 and BIFF8)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3034 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-09 22:37:05 +00:00
wp_xxyyzz
f0928db9f5
fpspreadsheet: Row heights now can be saved to all biff versions. Add unit test case for row heights, ok. Bug fixed in BIFFExplorer with format detection.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3019 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-07 18:31:27 +00:00
wp_xxyyzz
707f64e511
fpspreadsheet: Fix show/hide gridlines/headers issue of BIFF2 by adding WINDOW1 record. Move WINDOW1 record of BIFF5-BIFF8 to xlscommon. Add test cases for BIFF2. ok.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3008 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-04 20:01:21 +00:00
wp_xxyyzz
482eac242a
fpspreadsheet: Add support for frozen panes in BIFF5/BIFF8 (BIFF2 not working at the moment), fpSpreadsheetGrid, and BIFFExplorer.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3005 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-04 18:07:54 +00:00
wp_xxyyzz
44c55efdbd
fpspreadsheet: Add properties ShowGridLines, ShowHeaders, Selected to Worksheet to interface with fpSpreadsheetGrid. Read/write to xls file.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3002 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-03 19:07:55 +00:00
wp_xxyyzz
b93d9eae0c
fpspreadsheet: Add linestyle and linecolor as attributes to cell borders. Works in BIFF8 and BIFF5 (BIFF2 does not support this). Add corresponding unit test cases -> passed.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2999 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-03 17:00:00 +00:00
wp_xxyyzz
d777029bec
fpspreadsheet: Move writing of BLANK and NUMBER records from xlsbiff5 and xlsbiff8 to xlscommon. No regression.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2990 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-02 19:55:55 +00:00
wp_xxyyzz
3eac7b8066
fpspreadsheet: Move "AddDefaultFormats" to xlscommon. No regression.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2989 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-02 19:02:24 +00:00
wp_xxyyzz
cb00cea75a
fpspreadsheet: Rearrange code in xls* units to inherit TsSpreadBIFF2Reader from TsSpreadBIFFReader (instead of TsCustomSpreadReader) and to reduce duplicated code
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2985 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-01 21:47:41 +00:00
wp_xxyyzz
70f1d5c5e8
fpspreadsheet: Implement number/datetime format support for BIFF5 reading/writing (like BIFF8)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2979 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-30 21:07:41 +00:00
wp_xxyyzz
5e1e29aef8
fpspreadsheet: Show rotated text in fpspreadsheetgrid.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2976 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-29 21:58:48 +00:00
wp_xxyyzz
34db575967
fpspreadsheet: Implement text rotation for BIFF5. Add text rotation test cases for BIIF5 and BIFF8 (no text rotation in BIFF2 by design). Pass.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2974 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-27 15:59:16 +00:00
wp_xxyyzz
7c2851cd98
fpspreadsheet: Add most of the BIFF8 features to BIFF5. Add test cases for BIFF5 --> pass. Move more shared code from xlsbiff5 and xlsbiff8 to xlscommon. Update wiki.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2971 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-25 22:15:26 +00:00
wp_xxyyzz
c174566e55
fpspreadsheet: Some refinements with color handling:
...
- Add some more colors to the default palette, remove the duplicate base colors
- Introduce type TsColorvalue for the rgb color values
- At init, automatically convert big-endian color values to little-endian
- Add TsWorkbook.SetColorValue to replace a palette color
- Add testing of random palette to colortests
- Add color test for BIFF2 (font only, because background color cannot be changed by design)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2962 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-24 21:27:57 +00:00
wp_xxyyzz
f69a47c902
fpspreadsheet: Add/complete color support for biff2 and biff8, reading and writing. Display colors in fpspreadsheetgrid.
...
Remove parameter AData in several methods of the readers/writers and replace it by FWorkbook passed at creation.
Add unit tests for font and color support. No issues.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2960 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-23 22:29:32 +00:00
wp_xxyyzz
f7f1b0f12a
fpspreadsheet: Add support for empty cells to all BIFF formats (needed for formatting of empty cells).
...
Fix painting error of cell borders in fpspreadsheetgrid.
Add/complete reading/writing support for horizontal alignment, cell background and cell borders to BIFF2.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2958 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-21 21:43:43 +00:00
wp_xxyyzz
4f85834153
fpspreadsheet: Restructure reader/writer declarations to have in "public" only methods needed by the application
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2957 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-21 11:30:22 +00:00
wp_xxyyzz
f1fcd9f1f8
fpspreadsheet: Add reading support of row heights for biff2 and biff5
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2953 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-20 15:10:41 +00:00
bigchimp
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
bigchimp
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
bigchimp
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
bigchimp
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
sekelsenmat
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