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
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
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
4a16f9bb90
fpspreadsheet: Add unit test for "bold" attribute in BIFF2 and BIFF8. Fix "bold" being incorrectly restored by reading of both formats.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2966 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-25 09:32:34 +00:00
988b80b4a4
fpspreadsheet: Add column width support (reading & writing) to biff2. Add column width test cases for BIFF2 and BIFF8 -> pass.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2964 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-24 23:05:00 +00:00
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
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
c61e4418b7
fpspreadsheet: Add reading and writing of font support to biff8, biff2, and fpspreadsheetgrid. Font colors in biff2 not yet working. No test cases yet.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2959 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-22 23:10:32 +00:00
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
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
b8c1cf2961
fpspreadsheet: Add support for reading background colors in biff8 and fpspreadsheetgrid.
...
Add automatic test case for colors (fails since some colors are not yet written correctly, fails also for blank cells which are not yet read).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2956 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-20 21:51:12 +00:00
be497cb19e
fpspreadsheet: Add support for horizontal and vertical text alignment in cells for biff8 and fpspreadsheetgrid.
...
Fix failure to reckognize file format in case of uppercase filename.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2955 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-20 20:31:36 +00:00
313daa2eaf
fpspreadsheet: Complete prepared read/write support for cell wordwrap in biff8 and fpspreadsheetgrid
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2954 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-20 16:07:53 +00:00
8c90f30c66
fpspreadsheet: Add reading of row heights for biff8.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2952 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-20 14:57:23 +00:00
d617abccca
fpspreadsheet: Major re-write of fpspreadsheetgrid:
...
- persistent storage of workbook
- inherits from TCustomDrawGrid instead of from TCustomStringGrid
- use FixedRow/Col for row/column headers
- displays cell borders as read from the file
- uses column widths as read from the file (approximate only)
- numbers are right-aligned by default.
- demo extended to display worksheets in tabs
- some visual improvements of demo
- saving not yet working in demo
More to follow...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2951 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-19 19:29:13 +00:00
0f73aed718
fpspreadsheet: Implement reading of cell borders. Delete test.xls in examples/excel8demo.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2950 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-19 16:58:44 +00:00
36cc7d1f4e
fpspreadsheet: Add support for reading/writing of column widths in biff8 (specified as multiples of the width of the character "0"). Add test case. No regressions
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2945 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-18 13:17:22 +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
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
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
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
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
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
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
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
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
e061c01c66
Fixed memory leak on destroy.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2371 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-03-30 19:25:26 +00:00
09153c582d
fpspreadsheet: Finishes the basic support for date reading
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2263 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-01-23 13:48:39 +00:00
37d06a3d25
fpspreadsheet: Starts preparation to support reading dates from Excel 8, not yet functional
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2262 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-01-23 13:24:13 +00:00
a8d77986c0
fpspreadsheet: Small rework of the codepage code into xlscommon
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2199 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-12-25 09:03:20 +00:00
f1c93b7272
Fixes bug 20384, fixes biff 8 compressed UTF-16 reading
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2196 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-12-25 00:04:53 +00:00
f8caf9447a
Starts improving the xls biff 8 codepage support, doesnt actually work yet
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2194 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-12-24 23:38:24 +00:00
2c03552fdf
Fixes read of SST table when empty strings are present.
...
Renamed variable "Continue" to "ContinueIndicator" to avoid conflict with Pascal's Continue.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2110 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-11-02 22:33:19 +00:00
3be59f2c78
FPSpreadsheet: Improves the formula example, finishes basic implementation of RPN formula support in BIFF8
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1662 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-30 10:23:55 +00:00
c9280da776
FPSpreadsheet: Implements enough to write SUM(A1:A5) formulas in BIFF8
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1660 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-30 10:03:04 +00:00
f62592925f
FPSpreadsheet: Adds some code for formula handling
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1659 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-30 09:22:08 +00:00
e23fbc9f1d
FPSpreadsheet: Improves the comments
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1658 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-30 07:03:56 +00:00
948839a79a
Reworks the common xls files and attempt to fix bug 18886 excel5 files are truncated when imported
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1654 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-29 17:21:51 +00:00
9ac1f18a50
Fixes 18884, error reading biff8 labels written by fpspreadsheet
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1651 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-27 10:20:53 +00:00
e7aeb0c396
FPSpreadsheet: Adds a custom pallete so that we can have more commonly used colors instead of the default excel ones
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1649 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-26 11:04:30 +00:00
a2df0341ce
FPSpreadsheet: Adds support to 16 possible background colors to biff 8
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1648 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-26 10:00:56 +00:00
ca96ef2f5c
Adds support for a simple background color in biff8
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1647 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-26 09:39:17 +00:00
4570c4785a
FPSpreadsheet: Finishes implementing a generic font style manager for biff formats. Finishes integrating it with biff8
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1646 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-26 09:25:56 +00:00
68f1ccd497
FPSpreadsheet: Starts implementing biff2 formatting and also flexible support for biff formats, but all parts are unfinished
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1644 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-25 15:50:18 +00:00
088628a9bc
FPSpreadsheet: Adds all other border combinations to the biff 8 writter and the example
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1643 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-25 14:59:07 +00:00
038d224034
Adds a initial implementation of border support in FPSpreadsheet
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1641 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-25 13:40:53 +00:00
979180ddd9
Adds bold style support to OpenDocument
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1400 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-12-08 10:24:15 +00:00