Home » excel » Adding column to worksheet in Excel with OLEDB

Adding column to worksheet in Excel with OLEDB

Posted by: admin May 14, 2020 Leave a comment


I’m trying to add new column to the Excel worksheet by command

ALTER TABLE [MyTable] ADD COLUMN Field_dest nvarchar

But on execution of the command got exception “Invalid operation”
I tried table name with and without $ at the end , but got the same result
My questions are
1) Is there some wrong in the command above?
2) Is command ALTER table supported for excel table ?
3) Is the alternative way to add column into excel worksheet – preferable via OLEDB ?

Thanks in advance

How to&Answers:

Alter table will not work, AFAIK, however, you can Create Table or Select Into, which will allow you to create a new sheet. I cannot get this to run against an open sheet.

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

If you run against an open file, you will get an error to the effect that Sheetn does not exist.


You can use Create Table instead of Alter Table.
Just use your existing table name, then your columns adds to existing sheet

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

it’s work!