2013-12-21 54 views
4

我嘗試從LibreOffice的消耗臭氧層物質的電子表格文件爲CSV一個命令行程序導出表(四全部)。
我正在使用基本上PyODConverter.py在https://github.com/mirkonasato/pyodconverter

我面對的是保存的問題/文件中的片材(在當前的方法是將它們保存在每個片材一個單獨的文件)的所有/ 4。

免責聲明:我不覺得在Python編程(但)過於自信。總之,在上述python腳本,在轉換函數的結尾,我加入這個:

我如何保存在的LibreOffice Calc電子表格所有工作表從一個命令行Python腳本

 
    try: 
     oSheets = document.Sheets 
     for i in range(oSheets.Count): 
      sheet = oSheets.getByIndex(i) 
      document.CurrentController.setActiveSheet(sheet) 
      outputUrl = self._toFileUrl(sheet.Name + ".csv") 
      print sheet.Name + " " + outputUrl 
      document.storeToURL(outputUrl, self._toProperties(storeProperties)) 
    finally: 
     document.close(True) 


然而,這樣做是保存當前活動工作表的四倍。奇怪的是,這個片段確實能夠「訪問」所有表格(它們的名稱會連續報告),但是在保存時,始終保存相同的表格。所以我最終得到了四個相同的CSV文件。

預期的結果是如此迴避的是我開始覺得不能這樣做。

(操作環境側面說明:我有一個LibreOffice的監聽器上運行,因此所有的設置去,其實功能的腳本執行,並不如預期只有結果)。
感謝您的任何見解。

回答

1

不必所有的代碼在這裏,但如果你使用pyodconverter作爲一個框架的問題可能是線路:

 loadProperties = { "Hidden": True } 

當隱藏屬性設置setActiveSheet方法不工作。嘗試一下,不要將其設置爲true。

相關問題