Skip to content

f35f22fan/Ods2

Repository files navigation

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

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

Library updates might break API compatibility with previous updates to allow for easier development of this library.

Licensed under the GPLv3 or MIT license, see LICENSE for details. For questions, feature requests, etc: f35f22fan AT gmail.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()