EXCEL C++ encapsulated by XDRX API can directly read and write EXCEL files at high speed.
==============
XDRX API Excel library that can read and write Excel files. It doesn't require Install Microsoft Excel and .NET framework, combines an easy to use and powerful features. Library can be used to:
Generate a new spreadsheet from scratch
Extract data from an existing spreadsheet
Edit an existing spreadsheet
XDRX API Excel library can help your applications in exporting and extracting data to/from Excel files with minimum effort. Supports Excel 97-2003 binary formats (xls), Excel 2007-2021 XML formats (xlsx).
=============
XDRX API supports 84 functions for EXCEL file operations, divided into Book class, Sheet class, and Cell class.
XDEx-Setpropertyvalue
XDEx-Getpropertyvalue
;Book Class
XDEx-Book-save
XDEx-Book-Version
xdex-book-activefilename
xdex-book-isloaded
XDEx-Book-AddFont
XDEx-Book-setworkformat
XDEx-Book-AddFormat
XDEx-Book-ColorUnPack
XDEx-Book-DatePack
XDEx-Book-DateUnPack
XDEx-Book-ColorPack
XDEx-Book-SheetType
XDEx-Book-InsertSheet
XDEx-Book-SetDefaultFont
XDEx-Book-deletesheet
XDEx-Book-SetOperType
XDEx-Book-getAllSheet
XDEx-Book-addSheet
XDEx-Book-setActiveSheet
XDEx-Book-getActiveSheet
;Sheet Class
XDEx-sheet-getcellFormat
xdex-sheet-RemoveMerge
xdex-sheet-NumMerges
xdex-sheet-setMerge
xdex-sheet-clear
XDEx-Sheet-ReadRange
XDEx-Sheet-WriteRange
XDEx-Sheet-SetRangeFormat
XDEx-Sheet-SetColWidth
XDEx-Sheet-SetColFormat
XDEx-Sheet-SetRowFormat
XDEx-Sheet-SetRowHeight
XDEx-Sheet-SetRow
XDEx-Sheet-SetColumn
XDEx-Sheet-SetCellFormat
XDEx-Sheet-CopyRange
XDEx-Sheet-CopyCell
XDEx-Sheet-SetCurCell
XDEx-Sheet-RowNums
XDEx-Sheet-ColNums
XDEx-Sheet-GetMergeCell
XDEx-Sheet-SetHidden
XDEx-Sheet-isHidden
XDEx-Sheet-name
XDEx-Sheet-setName
XDEx-Sheet-RowIsHidden
XDEx-Sheet-ColIsHidden
XDEx-Sheet-ColSetHidden
XDEx-Sheet-RowSetHidden
XDEx-Sheet-GetNamedRange
XDEx-Sheet-SetNamedRange
XDEx-Sheet-DelNamedRange
XDEx-Sheet-RemoveRow
XDEx-Sheet-RemoveCol
XDEx-Sheet-InsertCol
XDEx-Sheet-InsertRow
XDEx-Sheet-setFooter
XDEx-Sheet-footerMargin
XDEx-Sheet-footer
XDEx-Sheet-setheader
XDEx-Sheet-headerMargin
XDEx-Sheet-header
XDEx-Sheet-ColWidth
XDEx-Sheet-RowHeight
XDEx-Sheet-Range
;Cell Class
xdex-cell-writeformula
XDEx-Cell-RC2Addr
XDEx-Cell-Addr2RC
XDEx-Cell-isMerge
XDEx-Cell-Format
XDEx-Cell-IsFormula
XDEx-Cell-IsDate
XDEx-Cell-Write
XDEx-Cell-WriteRange
XDEx-Cell-ReadRange
In the future, we will introduce how to use each function through examples.The following code is the XDRX API EXCEL parsing library - high-speed reading and writing cell performance test:
(if (setq sheet
(xdex
-book
-addsheet
"test" t
)) (setq num
(* maxRow maxCol
)) (setq t1
(xdrx
-runtime t
)) ((= n 0)
"\n\n======================================\nWrite string test... "
)
col 0
)
(xdex-cell-write row col (xdrx-string-rand 8))
)
)
)
((= n 1)
"\n\n======================================\nWrite a numerical test ... "
)
col 0
)
(xdex-cell-write row col (xdrx-math-rand 10000))
)
)
)
((= n 2)
"\n\n======================================\nReading Numbers Test ... "
)
(if (xdex
-book
-load "pernum.xls") col 0
)
)
)
)
)
)
((= n 3)
"\n\n======================================\nRead string test... "
)
(if (xdex
-book
-load "perstr.xls") col 0
)
)
)
)
)
)
)
(= n 0)
(= n 1)
)
(strcat "\n\nWriting time: " (rtos d
2 2) " seconds.") )
" cells/second"
)
)
(princ "\n\nSave speed test....") (xdex-book-save "pernum.xls")
(xdex-book-save "perstr.xls")
)
d3 (- d2 d)
)
)
(princ (strcat "\n\nTotal time spent writing and saving:" " Second."
)
)
"cells/second"
)
)
)
(= n 2)
(= n 3)
)
(strcat "\n\nReading time: " (rtos d
2 2) " seconds.") )
" cells/second"
)
)
)
)
)
)
)
)
)
(setq maxRow
(getint "\nEnter the number of rows:")) (setq maxCol
(getint "\nEnter the number of columns:")) )
(test 0)
(test 1)
(test 2)
(test 3)
)
)
)
100 cell test:Command : TT
Enter the number of rows:10
Enter the number of columns:10
Write 100 cells.
======================================
Write string test...
Start.
Writing time: 0.04 seconds.
Write speed: 2564.1 cells/second
Save speed test....
Save time: -0.04 seconds.
Total time spent writing and saving:0 Second.
Save speed:50000cells/second
======================================
Reading Numbers Test ...
Read 100 cells.
Start.
Writing time: 0.01 seconds.
Write speed: 7142.86 cells/second
Save speed test....
Save time: -0.01 seconds.
Total time spent writing and saving:0 Second.
Save speed:25000cells/second
======================================
Read string test...
Read 100 cells.
Start.
Reading time: 0.01 seconds.
Reading speed: 8333.33 cells/second
Start.
1000 cell test:命令: TT
Enter the number of rows:100
Enter the number of columns:10
Write 1000 cells.
======================================
Write string test...
Start.
Writing time: 0.3 seconds.
Write speed: 3311.26 cells/second
Save speed test....
Save time: -0.3 seconds.
Total time spent writing and saving:0 Second.
Save speed:250000cells/second
======================================
Reading Numbers Test ...
Read 1000 cells.
Start.
Writing time: 0.16 seconds.
Write speed: 6329.11 cells/second
Save speed test....
Save time: -0.15 seconds.
Total time spent writing and saving:0 Second.
Save speed:250000cells/second
======================================
Read string test...
Read 1000 cells.
Start.
Reading time: 0.18 seconds.
Reading speed: 5714.29 cells/second
Start.
2000 Cells Test:Command: tt
Enter the number of rows:100
Enter the number of columns:20
Write 2000 cells.
======================================
Write string test...
Start.
Writing time: 0.51 seconds.
Write speed: 3944.77 cells/second
Save speed test....
Save time: -0.5 seconds.
Total time spent writing and saving:0.01 Second.
Save speed:250000cells/second
======================================
Reading Numbers Test ...
Read 2000 cells.
Start.
Writing time: 0.29 seconds.
Write speed: 7017.54 cells/second
Save speed test....
Save time: -0.28 seconds.
Total time spent writing and saving:0.01 Second.
Save speed:400000cells/second
======================================
Read string test...
Read 2000 cells.
Start.
Reading time: 0.3 seconds.
Reading speed: 6711.41 cells/second
Start.
==============
The above LISP code uses the XDRX-API, which can be downloaded from
https://github.com/xdcad/XDrx-API and is updated at any time.
The XDRX API encapsulates AcDb, AcEd, AcGe, AcBr... C++ library, using C++ methods to develop LISP programs.Thousands of Lisp functions are available.
Modify message