以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]无法从有【保护工作簿】密码的EXCEL文件中提取数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173551)

--  作者:绿火柴
--  发布时间:2021/12/5 18:05:00
--  [求助]无法从有【保护工作簿】密码的EXCEL文件中提取数据
目前要从EXCEL中取数据,但发现提取不了,原因是:EXCEL中审阅→保护工作簿  设置了密码。

狐表的错误提示如下:
该文件无法读取,因为受到密码保护。

问题:怎么样才能把EXCEL中的数据提取出来。不要推荐手工取消保护密码,因为目前我现在EXCEL文件很多,且格式固定,保护工作簿 的密码是自动设置。

Dim tb As Table = e.Form.Controls("Table1").Table
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim book As new xls.book(dlg.filename)  \'定义EXCEL文件
    Dim Sheet As XLS.Sheet = Book.Sheets("询价信息")
    \'sheet.UnProtect(Password:="123456")
    Dim dr As DataRow = DataTables("项目清单").AddNew
    dr("版本号") = sheet(0,9).Text
    dr("操作日期") = Date.Today
    dr("询价员") = sheet(3,6).Text
    dr("询价单号") = sheet(2,2).Text

    dr.Save
End If

--  作者:有点蓝
--  发布时间:2021/12/5 21:00:00
--  
如果知道密码,先使用vba去掉密码:http://www.foxtable.com/webhelp/topics/2121.htm,再读取文件
--  作者:绿火柴
--  发布时间:2021/12/6 0:53:00
--  
为什么,只是查询EXCEL中的数据,又不是修改EXCEL的数据,密码是在这个地方设置的(EXCEL中审阅→保护工作簿)。能正常进入到EXCEL但取不到数据。
这不太合理呀。  我们的EXCEL文件平时是必须要有密码保护,就是防止修改工作表。

--  作者:有点蓝
--  发布时间:2021/12/6 8:57:00
--  
这个为什么需要去问微软,我也不知道。