2015-10-19 104 views
0

我建立了一个iOS应用程序以使用户的投入,然后上传自己的数据为.csv文件到Dropbox的。如何观看Excel文件变化,同时openpyxl进行更改

现在,我想要构建一个跨平台的桌面应用程序,它使用openpyxl和Python Dropbox API来监听这些.csv上传,然后将这些.csv文件中的数据写入各种.xlsx工作簿。除此之外,我没有任何问题,除非我的客户希望能够随着Excel工作簿的变化而在他们的桌面上观看。

每当我就与openpyxl的分配,如...

WB = load_workbook( “sample.xlsx”)#load现有.xlsx文件

WS = wb.active#获取活跃工作表

WS [“A1”] = 12个#assign数据单元格A1

...然后运行该脚本将成功地更改文件,但我已经关闭,然后打开该文件以查看更改,而不是在发生变化时观察变化。

所以,我的问题是,我怎么看openpyxl的变化脱颖而出,因为它们发生的工作簿发生,是有一个跨平台的解决方案呢?接受这个问题的其他方法,我感谢!

我对这个问题的研究已经跨越了几个小时,我都拿出最好的是的AppleScript和pywin32的某种混合体,但可能得到真正的丑陋/越野车真正快!

我非常感谢帮助!

+0

什么会观察这些变化实际上样子 - 它希望看到的细胞更新中,当用户有xls文件在桌面上打开实时?这将是非常复杂的,除非打开xls文件的人不能自己编辑它(甚至不是非常简单的...)。例如,你会如何处理用户所做的任何传入的新数据之间的冲突? –

+0

感谢您的输入!原来查理对xlwings的回答正是我所需要的! – MarkieMoose

回答

0

我不认为你可以很容易地做到这一点。 Excel文件本身就是简单的zip压缩文件,这使得监控变得非常困难,因为你无法修改zip文件:你总是创建一个新的压缩文件。这正是Excel使用文件锁定的原因。

这听起来我像你需要一些那种的Excel本身可以监视并集成外部数据源。你可能想看看xlwings进行就地编辑。或者,也可以使用openpyxl来创建外部数据源。它将与外部文件一起使用。

+0

非常有帮助! xlwings是我需要的! – MarkieMoose

相关问题