Skip to content

Latest commit

 

History

History
126 lines (115 loc) · 13.3 KB

README.md

File metadata and controls

126 lines (115 loc) · 13.3 KB

Ods2 - a library to read/write/update OpenDocument Spreadsheet (.ods) files. Supports the most commonly used formula functions (including evaluation).

Moved to Qt6-only as of January 2025

And using private headers (qzipreader/writer) which allowed dropping quazip and zlib. Apparently because of this images don't show up under LibreOffice. To be fixed.

API usage

See examples/examples[1-2].cc

Also, the file examples/Invoice.ods was generated with Ods2, the source code for the code that generated it is in examples/Invoice.cpp

How to build

See how_to_build.html

License, etc

Licensed under the GPLv3 or MIT license, see LICENSE for details. For questions, feature requests, etc: binkiepinkie1917 AT gmail DOT com


33 out of 388 functions implemented
Column 1 Column 2 Column 3 Column 4
🔲 abs() 🔲 accrint() 🔲 accrintm() 🔲 acos()
🔲 acosh() 🔲 acot() 🔲 acoth() 🔲 address()
🔲 amordegrc() 🔲 amorlinc() ☑️ and() 🔲 arabic()
🔲 areas() 🔲 asin() 🔲 asinh() 🔲 atan()
🔲 atan2() 🔲 atanh() 🔲 avedev() ☑️ average()
🔲 averagea() 🔲 averageifs() 🔲 b() 🔲 bahttext()
🔲 base() 🔲 besseli() 🔲 besselj() 🔲 besselk()
🔲 bessely() 🔲 betadist() 🔲 betainv() 🔲 bin2dec()
🔲 bin2hex() 🔲 bin2oct() 🔲 binomdist() 🔲 ceiling()
🔲 cell() 🔲 char() 🔲 chidist() 🔲 chiinv()
🔲 chisqdist() 🔲 chisqinv() 🔲 chitest() 🔲 choose()
🔲 clean() 🔲 code() 🔲 column() ☑️ columns()
🔲 combin() 🔲 combina() 🔲 complex() ☑️ concatenate()
🔲 confidence() 🔲 convert() 🔲 convert_add() 🔲 correl()
🔲 cos() 🔲 cosh() 🔲 cot() 🔲 coth()
☑️ count() ☑️ counta() ☑️ countblank() ☑️ countif()
🔲 countifs() 🔲 coupdaybs() 🔲 coupdays() 🔲 coupdaysnc()
🔲 coupncd() 🔲 coupnum() 🔲 couppcd() 🔲 covar()
🔲 critbinom() 🔲 csc() 🔲 csch() 🔲 cumipmt()
🔲 cumipmt_add() 🔲 cumprinc() 🔲 cumprinc_add() 🔲 current()
☑️ date() 🔲 datevalue() 🔲 daverage() ☑️ day()
🔲 days() 🔲 days360() 🔲 daysinmonth() 🔲 daysinyear()
🔲 db() 🔲 dcount() 🔲 dcounta() 🔲 ddb()
🔲 dde() 🔲 dec2bin() 🔲 dec2hex() 🔲 dec2oct()
🔲 decimal() 🔲 degrees() 🔲 delta() 🔲 devsq()
🔲 dget() 🔲 disc() 🔲 dmax() 🔲 dmin()
🔲 dollar() 🔲 dollarde() 🔲 dollarfr() 🔲 dproduct()
🔲 dstdev() 🔲 dstdevp() 🔲 dsum() 🔲 duration()
🔲 duration_add() 🔲 dvar() 🔲 dvarp() 🔲 eastersunday()
🔲 edate() 🔲 effective() 🔲 effect_add() 🔲 eomonth()
🔲 erf() 🔲 erfc() 🔲 errortype() 🔲 even()
🔲 exact() 🔲 exp() 🔲 expondist() 🔲 fact()
🔲 factdouble() ☑️ false() 🔲 fdist() 🔲 find()
🔲 finv() 🔲 fisher() 🔲 fisherinv() 🔲 fixed()
🔲 floor() 🔲 forecast() 🔲 formula() 🔲 frequency()
🔲 ftest() 🔲 fv() 🔲 fvschedule() 🔲 gamma()
🔲 gammadist() 🔲 gammainv() 🔲 gammaln() 🔲 gauss()
🔲 gcd() 🔲 gcd_add() 🔲 geomean() 🔲 gestep()
🔲 growth() 🔲 harmean() 🔲 hex2bin() 🔲 hex2dec()
🔲 hex2oct() 🔲 hlookup() 🔲 hour() 🔲 hyperlink()
🔲 hypgeomdist() ☑️ if() 🔲 imabs() 🔲 imaginary()
🔲 imargument() 🔲 imconjugate() 🔲 imcos() 🔲 imcosh()
🔲 imcot() 🔲 imcsc() 🔲 imcsch() 🔲 imdiv()
🔲 imexp() 🔲 imln() 🔲 imlog10() 🔲 imlog2()
🔲 impower() 🔲 improduct() 🔲 imreal() 🔲 imsec()
🔲 imsech() 🔲 imsin() 🔲 imsinh() 🔲 imsqrt()
🔲 imsub() 🔲 imsum() 🔲 imtan() 🔲 index()
☑️ indirect() 🔲 info() 🔲 int() 🔲 intercept()
🔲 intrate() 🔲 ipmt() 🔲 irr() 🔲 isblank()
🔲 iserr() 🔲 iserror() 🔲 iseven() 🔲 iseven()
🔲 iseven_add() 🔲 isformula() 🔲 isleapyear() 🔲 islogical()
🔲 isna() 🔲 isnontext() 🔲 isnumber() 🔲 isodd()
🔲 isodd() 🔲 isodd_add() 🔲 ispmt() 🔲 isref()
🔲 istext() 🔲 kurt() 🔲 large() 🔲 lcm()
🔲 lcm_add() 🔲 left() 🔲 len() 🔲 linest()
🔲 ln() 🔲 log() 🔲 log10() 🔲 logest()
🔲 loginv() 🔲 lognormdist() 🔲 lookup() 🔲 lower()
🔲 match() ☑️ max() 🔲 maxa() 🔲 mdeterm()
🔲 mduration() 🔲 median() 🔲 mid() ☑️ min()
🔲 mina() 🔲 minute() 🔲 minverse() 🔲 mirr()
🔲 mmult() ☑️ mod() 🔲 mode() ☑️ month()
🔲 months() 🔲 mround() 🔲 multinomial() 🔲 munit()
🔲 n() 🔲 na() 🔲 negbinomdist() 🔲 networkdays()
🔲 nominal() 🔲 nominal_add() 🔲 normdist() 🔲 norminv()
🔲 normsdist() 🔲 normsinv() ☑️ not() ☑️ now()
🔲 nper() 🔲 npv() 🔲 oct2bin() 🔲 oct2dec()
🔲 oct2hex() 🔲 odd() 🔲 oddfprice() 🔲 oddfyield()
🔲 oddlprice() 🔲 oddlyield() ☑️ offset() ☑️ or()
🔲 pearson() 🔲 percentile() 🔲 percentrank() 🔲 permut()
🔲 permutationa() 🔲 phi() 🔲 pi() 🔲 pmt()
🔲 poisson() ☑️ power() 🔲 ppmt() 🔲 price()
🔲 pricedisc() 🔲 pricemat() 🔲 prob() ☑️ product()
🔲 proper() 🔲 pv() 🔲 quartile() ☑️ quotient()
🔲 radians() 🔲 rand() 🔲 randbetween() 🔲 rank()
🔲 rate() 🔲 received() 🔲 replace() 🔲 rept()
🔲 right() 🔲 roman() ☑️ round() ☑️ rounddown()
☑️ roundup() 🔲 row() ☑️ rows() 🔲 rri()
🔲 rsq() 🔲 search() 🔲 sec() 🔲 sech()
🔲 second() 🔲 seriessum() 🔲 sheet() 🔲 sheets()
🔲 sign() 🔲 sin() 🔲 sinh() 🔲 skew()
🔲 sln() 🔲 slope() 🔲 small() 🔲 sqrt()
🔲 sqrtpi() 🔲 standardize() 🔲 stdev() 🔲 stdeva()
🔲 stdevp() 🔲 stdevpa() 🔲 steyx() 🔲 style()
🔲 substitute() 🔲 subtotal() ☑️ sum() ☑️ sumif()
🔲 sumifs() 🔲 sumproduct() 🔲 sumsq() 🔲 sumx2my2()
🔲 sumx2py2() 🔲 sumxmy2() 🔲 syd() 🔲 t()
🔲 tan() 🔲 tanh() 🔲 tbilleq() 🔲 tbillprice()
🔲 tbillyield() 🔲 tdist() 🔲 text() 🔲 time()
🔲 timevalue() 🔲 tinv() ☑️ today() 🔲 transpose()
🔲 trend() 🔲 trim() 🔲 trimmean() ☑️ true()
🔲 trunc() 🔲 ttest() 🔲 type() 🔲 upper()
🔲 value() 🔲 var() 🔲 vara() 🔲 varp()
🔲 varpa() 🔲 vdb() 🔲 vlookup() 🔲 weekday()
🔲 weeknum() 🔲 weeknum_add() 🔲 weeks() 🔲 weeksinyear()
🔲 weibull() 🔲 workday() 🔲 xirr() 🔲 xnpv()
🔲 xor() ☑️ year() 🔲 yearfrac() 🔲 years()
🔲 yield() 🔲 yielddisc() 🔲 yieldmat() 🔲 ztest()