Pastebin

http://de.openoffice.info/viewtopic.php?f=18

von Karolus
Beschreibung:
http://de.openoffice.info/viewtopic.php?f=18&t=65731&p=255366#p2

Dein Code:
  1. # -*- coding: utf-8 -*-
  2.  
  3. import uno
  4. from os import path
  5. import sys
  6. if sys.version_info.major < 3:
  7.     import io
  8.     open = io.open
  9.  
  10. HEADER=(u'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n'
  11.          '<Computerliste xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\n\t')
  12.  
  13. FOOTER = u'\n</Computerliste>'
  14. node = u'\t<Computer>\n{}\n\t</Computer>'.format
  15. inode = u'\t\t<{0}>{1}</{0}>'.format
  16.  
  17.  
  18. def export_to_xml(event):    
  19.     doc = event.Source    
  20.     filepath, _ = path.splitext(uno.fileUrlToSystemPath(doc.URL))
  21.     xmlpath = filepath + '.xml'  
  22.     exportsheet = doc.Sheets.getByIndex(0)
  23.     cursor = exportsheet.createCursor()
  24.     cursor.gotoStartOfUsedArea(False)
  25.     cursor.gotoEndOfUsedArea(True)
  26.     data = cursor.DataArray
  27.     tags, data = data[0], data[1:]
  28.    
  29.     with open(xmlpath, 'w', encoding='utf8') as xmlfile:
  30.         xmlfile.write( HEADER )
  31.         for row in data:
  32.             xmlfile.write( node('\n'.join(inode(tag, entry)
  33.                             for tag, entry in zip(tags, row)
  34.                             if entry)))
  35.         xmlfile.write( FOOTER )

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. Alternativ kannst du den gesamten Eintrag auch als Datei herunterladen.