如何在使用openpyxl写入数据后忽略excel中的“启用编辑”

问题描述 投票:0回答:3

我正在使用有 6 个选项卡(全部不受保护)的 Excel 模板,并使用 openpyxl 模块在每个工作表上写入数据。 创建 Excel 文件后,当尝试打开生成的文件时,它不会显示所有数据,除非我单击弹出的“启用编辑”。

openpyxl 中是否有需要禁用的属性。

python python-3.x openpyxl
3个回答
2
投票

我帮我解决了这个问题。

我在这里找到了答案: https://codereview.stackexchange.com/questions/240136/python-script-for-refreshing-and-preprocessing-data-in-excel-report-files

我只使用了刷新功能,它基本上打开了excel文件,点击/刷新,然后关闭/保存。您会看到屏幕上短暂出现一个 Excel 文件。我将把它插入一个循环中以浏览我正在创建的所有文件。运行数百个可能需要一点时间,但比打开-单击-保存快得多。

这是我使用的所有代码:

import win32com.client as win32

def refresh(directory, file_name):
    xlapp = win32.DispatchEx('Excel.Application')
    xlapp.DisplayAlerts = False
    xlapp.Visible = True
    xlbook = xlapp.Workbooks.Open(directory + '\\' + file_name)
    xlbook.RefreshAll()
    xlbook.Save()
    xlbook.Close()
    xlapp.Quit()

    return()

1
投票

这听起来像是 Windows 隔离了通过网络接收的文件。由于这是在收到文件时完成的,因此在创建文件时无法避免这种情况。


0
投票

在该函数中,我在代码中使用了它,但它显示了这一行的错误

xlbook = xlapp.Workbooks.Open(文件名)

甚至我的文件名和文件路径都是正确的。但它显示了错误。想要做什么改变吗?

© www.soinside.com 2019 - 2024. All rights reserved.