Was ich brauche, ist ein Befehlszeilentool, Excel und ods Tabellendatei in CSV konvertieren, die ich auf einem Webserver (Ubuntu 16.04) verwenden kann. Ich habe das bereits rot: https://pypi.python.org/pypi/unotools was für die angegebenen Beispiele gut funktioniert.unotools - versuchen, ods oder Excel-Dateien zu konvertieren csv mit Python
Und das: http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno-part-1v2 was sollte die Arbeit tun, ich will es tun, aber nicht in meiner Umgebung.
Mein Problem ist meiner Meinung nach in der Methode Calc.store_to_url:
Linie werfen Ausnahme
component.store_to_url (url, 'Filtername', 'Text - txt - csv (StarCalc)')
Ich würde wirklich einen Hinweis schätzen.
Exception
unotools.unohelper.ErrorCodeIOException: SfxBaseModel :: impl_store fehlgeschlagen: 0x81a
Full Source
import sys
from os.path import basename, join as pathjoin, splitext
from unotools import Socket, connect
from unotools.component.calc import Calc
from unotools.unohelper import convert_path_to_url
from unotools import parse_argument
def get_component(args, context):
_, ext = splitext(args.file_)
url = convert_path_to_url(args.file_)
component = Calc(context, url)
return component
def convert_csv(args, context):
component = get_component(args, context)
url = 'out/result.csv'
component.store_to_url(url,'FilterName','Text - txt - csv (StarCalc)')
component.close(True)
args = parse_argument(sys.argv[1:])
context = connect(Socket(args.host, args.port), option=args.option)
convert_csv(args, context)
Welche Parameter übergeben Sie an die 'convert_csv()'? –
full command ist: python3 convert.py -s localhost -p 2002 -f excel.xlsx (host und port sind geprüft und geht es gut) –
Diese Frage verwendet 'unotools' anstatt gerade' pyuno', also der Titel und das Tag sind irreführend. Das Problem ist jedoch für jeden Code relevant, der die UNO-Schnittstelle verwendet. –