使用OLEDB将列添加到Excel中的工作表

你好
我试图通过命令将新列添加到Excel工作表

ALTER TABLE [MyTable] ADD COLUMN Field_dest nvarchar

但执行该命令时得到exception“无效的操作”我试了表名和有没有$在最后,但得到了相同的结果
我的问题是
1)上面的命令有错吗?
2)是否支持excel表的命令ALTER表?
3)是另一种方法添加列到Excel工作表 – 最好通过OLEDB?

提前致谢

改变表不会工作,但是,AFAIK,您可以创build表或select,这将允许您创build一个新工作表。 我无法得到这个打开表单运行。

Dim cn As Object Dim scn As String Dim sSQL As String strFile = "C:\Docs\test.xls" scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ strFile & ";Extended Properties=""Excel 8.0;HDR=Yes;""" Set cn = CreateObject("ADODB.Connection") cn.Open scn ''Note that there is no $ on the sheet to be created sSQL = "SELECT *,'' As NewField INTO [Sheet17] FROM [Sheet4$]" ''Jet data types sSQL = "CREATE TABLE [Sheet8] (AText text, ANother text)" cn.Execute sSQL 

如果您针对打开的文件运行,则会出现Sheetn不存在的错误。

您可以使用创build表而不是Alter Table。 只要使用您现有的表名,然后您的列添加到现有的表

 CREATE TABLE [ExistingSheet$] (ID char(255), oldField1 char(255), newField2 char(255)) 

是工作!