更新Excel工作表单元格(单元格是下拉列表)

时间:2015-01-28 15:47:14

标签: sql excel vbscript asp-classic adodb

基本上我有一个模板excel表,我将其复制到另一个目录。 我使用以下方式打开与所述新表的连接:

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &  excel_copy & ";Extended Properties=""Excel 8.0;HDR=No;"""
Set rsHoja = cn.OpenSchema(20)
hoja=rsHoja("Table_Name")
rsHoja.close
Set rsHoja = nothing  
Set rsHoja = Server.CreateObject("ADODB.Recordset")

从这一点开始,我已成功完成更新,例如:

sql =  " UPDATE [Hoja1$B2:B2] SET F1='"&VALUE&"'"
rsHoja.Open sql, cn

问题来自于我正在尝试对从List中获取值的单元格进行更新(在同一张表中)

我一直收到错误:

Microsoft Access Database Engine error '80040e10' 

知道如何从List中为单元格赋值吗?我已经尝试了列表的名称[值的单元格]和其他方法,但我现在正试图盲目地解决它。 我也到处都没有运气。

更新1:

如果有任何帮助,我忘了提及我的文件没有标题。

2 个答案:

答案 0 :(得分:0)

当您使用 Microsoft.ACE.OLEDB.12.0 数据库引擎进行连接时,

的可能性:

1)如果您使用 .xlsx 文件作为数据源

,请确保在扩展属性中使用 Excel 12.0

2)如果您使用 .xls 文件作为数据源,请确保在扩展属性中使用 Excel 8.0

检查此网址以获取更多相关信息:

https://www.connectionstrings.com/excel/

答案 1 :(得分:0)

所以我终于找到了问题......它与我的SQL或具有列表的单元格有关,问题是单元格被标记为(在excel表格中)为DATE但是List是一个字符串,所以每当我尝试在其上写我的字符串时给出类型错误...将excel上的单元格更改为字符串/一般修复问题,单元格正确获取值。