从C#写入Excel工作表

如果我使用C#创buildExcel电子表格/文件工作表,此代码仅处理数据。 如果我提供它已经创build的Excel文件进​​行编写或操作,它会抛出一个exception:

“Microsoft Access数据库引擎找不到对象'Sheet1'(在Excel中引用的Excel文件中的工作表)。确保对象存在,并且正确拼写其名称和path名。如果'Sheet1'不是一个本地对象,请检查您的networking连接或联系服务器pipe理员。“

这是我正在尝试的代码:

string con = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=D:\Temp\table1.xlsx;" + @"Extended Properties= 'Excel 12.0 Xml; HDR=YES;' OleDbConnection connection = new OleDbConnection(con); connection.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = connection; cmd.CommandText = "CREATE TABLE [table1] (id INT, name VARCHAR, datecol DATE );"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO [table1](id,name,datecol) VALUES(1,'AAAA','2014-01-01');"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO [table1](id,name,datecol) VALUES(2, 'BBBB','2014-01-03');"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO [table1](id,name,datecol) VALUES(3, 'CCCC','2014-01-03');"; cmd.ExecuteNonQuery(); cmd.CommandText = "UPDATE Book1 SET Name = 'Current Tag' WHERE id = 3;"; cmd.ExecuteNonQuery(); connection.Close(); 

任何帮助将受到衷心感谢,谢谢

是否有任何理由您必须使用Access数据库命令来编辑您的Excel文件? 否则,你可以看看

 Microsoft.Office.Interop 

程序集,可以直接访问Excel文件: https : //msdn.microsoft.com/en-us/library/ms173186(v=vs.80).aspx