使用ASP / VBScript写入Excel文件

我正在尝试从HTML窗体中获取信息并使用ASP / VBScript(不是VB.NET)input到Excel文件(xlsx)中。 我在Java和PHP方面有一些经验,但对于VB世界来说是新的。 沙发我已经find了从GET / POST方法获取数据的方法。 现在我正在尝试创build一个到excel文件的ADO连接。 这是我的代码到目前为止:

Dim cn as ADODB.Connection Set cn = New ADODB.Connection With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=EXCEL_FILE.xlsx;" & _"Extended Properties=Excel 12.0 Xml;HDR=YES" .Open End With 

我从这里得到了连接string:connectionstrings.com并试图坚持这个指南: http : //support.microsoft.com/kb/257819/en-us但直到现在没有运气。 所以这是我的问题:

1)这是一个正确的想法吗? 所以抓住数据从POST例如,然后打开与ADO连接到Excel文件,并添加信息查询连接对象?

2)代码中的任何明显的缺陷?

3)如果有人能够提出一个解决scheme,将数据从一个HTML表单写入一个Excel文件,那将是非常棒的。

提前致谢。

编辑:好这里是我尝试的代码:

 Dim cn Set cn = Server.CreateObject("ADODB.Connection") With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=EXCEL_FILE.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES""" 'From : http://www.connectionstrings.com/excel-2007 .Open End With 

一旦我打电话给“打开”在cn它给了我500内部错误。 我不知道我是否犯了一个明显的错误,但是因为我不知道在哪里可以find错误日志,我不知道从哪里开始寻找。

1 –如果你必须使用Excel 作为数据库 ,是的,这是正确的。 但是,如果你需要一个数据库,应该使用一个数据库,而不是一个Excel表。
2 – VBScript不支持早期绑定。 你应该定义没有数据types的variables,应该使用CreateObject创build对象。 你需要对连接string(引号)进行一些更改。
例如

 Dim cn Set cn = Server.CreateObject("ADODB.Connection") With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=EXCEL_FILE.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES""" 'From : http://www.connectionstrings.com/excel-2007 .Open End With ' ' Add new records etc. ' cn.Close Set cn = Nothing 

3 –添加新logging的示例(将上面的'Add new records etc. )从HTML表单(post方法)中获取值。

 Dim rs Set rs = Server.CreateObject("Adodb.Recordset") With rs .Open "[Sheet1$]", cn, 1, 3 .AddNew .Fields(0).Value = Request.Form("Param1") 'Column A1 (or with name rs.Fields("col1").Value = exp ) .Fields(1).Value = Request.Form("Param2") 'Column B1 .Update .Close End With Set rs = Nothing