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).

Building

As of Jan 2025 moved to Qt6-only.
libzip and zlib are used for .zip support (libzip needs zlib, and Ods2 needs libzip).
Building tested on Windows with Visual Studio 17 2022 and LLVM MinGW, and with g++ on Fedora Linux 41.
See how_to_build.html

API usage

See examples/examples[1-2].cc

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

License, etc

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


59 out of 393 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() β˜‘οΈ BITAND()
β˜‘οΈ BITLSHIFT() β˜‘οΈ BITOR() β˜‘οΈ BITRSHIFT() β˜‘οΈ BITXOR()
πŸ”² 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()

About

A Qt6/C++17 library to create, read and update .ods files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •