Skip to content

Commit

Permalink
Version 4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
goosepirate committed Nov 20, 2022
1 parent 5639471 commit aa5c6c2
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 10 deletions.
42 changes: 36 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Lox365 is a LibreOffice extension that adds modern spreadsheet functions like XL

![Screenshot](image2.png)

## Install
## Install or update

1. Download the extension `Lox365.oxt` from [Releases](https://github.com/goosepirate/lox365/releases).
2. Start LibreOffice > Tools > Extension Manager > Add > Select the oxt file > restart LibreOffice.
Expand Down Expand Up @@ -44,6 +44,10 @@ Here are what others are saying about this project:
— u/timespreader

> Great work, goose! 😊
— Mike Saunders

> Really nice idea.
— Behzat Yildirim
Expand All @@ -62,7 +66,11 @@ Here are what others are saying about this project:
— Marius Spix

## Other functions
> Pues muchísimas gracias.
— Guille

## Availability of other function

These functions are not in LibreOffice and not provided by Lox365 but are available in the latest Excel:

Expand All @@ -73,6 +81,10 @@ These functions are not in LibreOffice and not provided by Lox365 but are availa
* TOROW
* XMATCH

These functions are not in LibreOffice but are planned to be added to Calc:

* XLOOKUP

These functions are already available in LibreOffice:

* CONCAT
Expand All @@ -94,9 +106,7 @@ Media

https://blog.documentfoundation.org/blog/2022/09/23/lox365-extension-xlookup-and-more-for-libreoffice-calc/

https://es.blog.documentfoundation.org/extension-lox365-xlookup-y-mas-para-libreoffice-calc/

https://blog.libreoffice.org.tr/2022/09/23/libreoffice-calc-icin-yeni-bir-eklenti-goosepirate/
https://blog.documentfoundation.org/blog/2022/10/06/libreoffice-project-and-community-recap-september-2022/

https://www.reddit.com/r/libreoffice/comments/x98nqt/lox365_xlookup_for_libreoffice/

Expand All @@ -110,6 +120,16 @@ https://fosstodon.org/@libreoffice/109046849962893237

https://www.facebook.com/libreoffice.org/posts/pfbid07mXEodbV2i32W6JkbRYWdDoyw8sUkiw7cX8QdTLU357AhJKGr9QoH5zKeJUxArkzl

https://es.blog.documentfoundation.org/extension-lox365-xlookup-y-mas-para-libreoffice-calc/ (es)

https://forest.watch.impress.co.jp/docs/news/1442776.html (jp)

https://www.zaikei.co.jp/article/20220928/691186.html (jp)

https://www.matsuura.com.br/2022/09/extensao-lox365-xlookup-e-mais-para.html (pt)

https://blog.libreoffice.org.tr/2022/09/23/libreoffice-calc-icin-yeni-bir-eklenti-goosepirate/ (tr)

Development

https://bugs.documentfoundation.org/show_bug.cgi?id=126573
Expand All @@ -118,14 +138,24 @@ https://bugs.documentfoundation.org/show_bug.cgi?id=127293

https://gerrit.libreoffice.org/c/core/+/131905

https://flywire.github.io/lo-p/

https://wiki.openoffice.org/wiki/Calc/Add-In/Python_How-To

https://wiki.openoffice.org/wiki/Python/Python_Language_Binding

https://wiki.documentfoundation.org/Documentation/DevGuide/Spreadsheet_Documents

https://help.libreoffice.org/latest/en-US/text/sbasic/python/main0000.html

https://api.libreoffice.org/docs/idl/ref/namespaces.html

https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1sheet.html

https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1uno.html

https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/module-ix.html

https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/AddIn.html

https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/module-ix.html
https://git.libreoffice.org/core/
Binary file modified build/Lox365.oxt
Binary file not shown.
Binary file modified build/interface.rdb
Binary file not shown.
Binary file modified build/interface.urd
Binary file not shown.
2 changes: 1 addition & 1 deletion description.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink">
<identifier value="com.goosepirate.lox365.oxt" />
<icon><default xlink:href="icon.png" /></icon>
<version value="4.0" />
<version value="4.1" />
<publisher><name xlink:href="https://github.com/goosepirate/lox365" lang="en">goosepirate</name></publisher>
<display-name><name lang="en">Lox365</name></display-name>
<extension-description><src xlink:href="extension-description.txt" lang="en"/></extension-description>
Expand Down
2 changes: 1 addition & 1 deletion interface.idl
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ module org { module openoffice { module sheet { module addin {
[in] sequence< sequence< any > > array
);
sequence< sequence< any > > UNIQUE(
[in] sequence< sequence< any > > array
[in] com::sun::star::table::XCellRange array
);
sequence< sequence< any > > XLOOKUP(
[in] any lookupValue,
Expand Down
12 changes: 11 additions & 1 deletion loader.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# LibreOffice 7.4 on Windows bundles Python 3.8, so import from __future__
# in order to use new type hinting.
# https://peps.python.org/pep-0585/
from __future__ import annotations

import uno
import unohelper
from org.openoffice.sheet.addin import XLox365
Expand Down Expand Up @@ -41,7 +46,12 @@ def FILTER (self, *args): return lx.FILTER (*args)
def SORT (self, *args): return lx.SORT (*args)
def TEXTSPLIT(self, *args): return lx.TEXTSPLIT(*args)
def TOCOL (self, *args): return lx.TOCOL (*args)
def UNIQUE (self, *args): return lx.UNIQUE (*args)

def UNIQUE(self, *args):
shrunk_corners = self._get_shrunk_corners(args[0])
shrunk_dataarray = self._get_dataarray(args[0], shrunk_corners)
args = (shrunk_dataarray,)
return lx.UNIQUE(*args)

def XLOOKUP(self, *args):
shrunk_corners1 = self._get_shrunk_corners(args[1])
Expand Down
3 changes: 2 additions & 1 deletion pythonpath/lox365.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ def DBG_PY(cr, evalx):
useful_positions['left'], useful_positions['top'],
useful_positions['right'], useful_positions['bottom']).DataArray
return ((repr(evalx),),)
# return ((pprint.pformat(repr(eval(evalx))),),)
# try: return ((pprint.pformat(repr(eval(evalx))),),)
# except Exception as e: return ((pprint.pformat(repr(e)),),)

def FILTER(array, include, ifEmpty=ERR_CALC):
if ifEmpty is None: ifEmpty = ERR_CALC
Expand Down

0 comments on commit aa5c6c2

Please sign in to comment.