我构建了一个 iOS 应用程序,它接受用户的输入,然后将其数据作为 .csv 文件上传到 dropbox。
现在,我想构建一个跨平台桌面应用程序,使用 openpyxl 和 Python dropbox api 来侦听这些 .csv 上传,然后将这些 .csv 文件中的数据写入各种 .xlsx 工作簿。我对此没有任何问题,只是我的客户希望能够在桌面上观看 Excel 工作簿的更改。
每当我用 openpyxl 做作业时,例如......
wb = load_workbook("sample.xlsx") #load an existing .xlsx file
ws = wb.active #get active worksheet
ws['A1'] = 12 #assign data to cell A1
...然后运行此脚本将成功更改文件,但我必须关闭然后打开文件才能查看更改,而不是观看更改发生。
所以,我的问题是,如何观察 openpyxl 对 excel 工作簿的更改发生,是否有跨平台解决方案?解决问题的替代方法值得赞赏!
我对此的研究已经持续了几个小时,我想出的最好的办法是 AppleScript 和 pywin32 的某种混合,但这可能很快就会变得非常丑陋/有缺陷!
我非常感谢您的帮助!
我认为你不能轻易做到这一点。 Excel 文件本身只是 zip 存档,这使得监视变得非常困难,因为您无法就地修改 zip 文件:您总是创建一个新存档。这正是 Excel 使用文件锁定的原因。
在我看来,您需要某种 Excel 本身可以监控和集成的外部数据源。您可能需要查看 xlwings 进行就地编辑。或者,也可以使用 openpyxl 创建外部数据源。它将与外部文件一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)