(我是该 Excel 表和该连接网页的作者)
我有一张 Excel 工作表,其中嵌入了多个连接:“从 Web(旧版)”到包含 HTML 表格的网页。该网页受 HTTP 基本身份验证保护。
在网页上更改密码并随后刷新时,即使有多个连接,Excel 也会正确弹出对话框,并且仅弹出一次。
关闭并重新打开 Excel 文件并随后刷新时也会弹出对话框,但即使登录信息未更改且“记住我的凭据”复选框已勾选,也会弹出对话框。密码也会正确保留。
为了方便使用,如果密码没有更改,我希望对话框不出现。这可能吗?我很乐意查看包括连接文件、宏或 VBA 代码在内的解决方案
如果我想在刷新后保存更改,当系统提示我是否要保存更改时,我也会认真地按下“保存”,但理想情况下,这也不是必要的。
答案1
据说有些建议在这种情况下会有所帮助,但仅在使用 IIS 的 Windows 服务器环境中才有意义:
要在 Web 应用程序中添加该
web.config
文件,请执行以下操作:<add verb="OPTIONS" allowed="false" /> <add verb="PROPFIND" allowed="false" />
将 IIS 中网站的 HTTP 身份验证方法更改为使用 NTLM。
当使用 Apache 时,这些建议不适用,因此您最好从网页中删除密码要求。
为了安全起见,您可以添加一些其他保护措施。例如,您可以检查原始 IP 地址是否来自有权使用该网页的来源。
答案2
您无需从 Excel 进行连接,而是可以从网页导出 Excel 格式的表格。
有很多方法可以做到这一点。
以下是一个例子: https://datatables.net/extensions/buttons/examples/html5/simple.html