python-3.x - 如何使用 python openpyxl 保持 excel 的共享属性?
问题描述
我在尝试保持 Excel 的共享属性时遇到了麻烦。我试过这个:Python 和 openpyxl 正在将我的共享工作簿保存为非共享,但 vout 的一部分只是取消了我对脚本所做的所有修改
解释问题:
- 有一个共享的 excel 文件,人们可以在其中进行一些修改
- Python 在其上读写
- 当我将工作簿保存在 excel 文件中时,它会自动删除共享属性,或者当我尝试保留它时,它只是不做任何修改
有人能帮助我吗 ?
解决方案
根据要求,我会更精确一点。
共享模式是微软提供的一种。您可以看到下面的按钮:
excel 存储在服务器上。几个用户可以同时在上面写,但是当我启动我的脚本时,它会自动停止共享属性,所以写在上面的每个人都不能再做修改,他们所做的每一个修改都丢失了。
首先,我正常对待我的 Excel:
DLT=openpyxl.load_workbook(myPath)
ws=DLT['DLT']
...my modifications on ws...
DLT.save()
DLT.close()
但后来我尝试了这个(Python 和 openpyxl 将我的共享工作簿保存为非共享)
DLT=openpyxl.load_workbook(myPath)
ws=DLT['DLT']
zin = zipfile.ZipFile(myPath, 'r')
buffers = []
for item in zin.infolist():
buffers.append((item, zin.read(item.filename)))
zin.close()
...my modif on ws...
DLT.save()
zout = zipfile.ZipFile(myPath, 'w')
for item, buffer in buffers:
zout.writestr(item, buffer)
zout.close()
DLT.close()
第二个只是没有将我的修改保存在ws
.
我想做的事情是不要摆脱共享属性。我需要在写的时候保留它。不确定是否可能。我有一个替代解决方案是使用另一个文件,然后手动将新数据从该文件复制/粘贴到 DLT 文件中。
推荐阅读
- eclipse - HikariCP/Spigot:使用 Eclipse 无 maven 导出
- optimization - 使用soplex命令行输出解决方案
- javascript - Jest - 如何将其他文件中的变量/函数用于测试单元?
- node.js - Mongoose 从聚合返回值
- collision-detection - 是图中的位置(X,Y)
- java - Java 8:如何更新链表中的数据,我需要拉上一个节点的数据来更新当前节点的数据
- closures - JSXGraph,一个页面上有多个板,有什么建议可以避免名称冲突?
- azure - Azure 数据湖 gen2 - 验证上传的文件(MD5?)
- google-apps-script - 如何保留使用 Google Apps 脚本访问某个电子表格的用户的电子邮件日志?
- javascript - How can I change the width of a select bar based on the amount of text in the option without hardcoding?