2016-07-27 24 views
0

このコードは、C#を使用してExcelワークシート/ファイルワークシートを作成する場合にのみデータを操作します。私はそれがすでに作成提供した場合は書き込みや操作のためのファイルをエクセル、それが例外をスロー:C#からExcelワークシートを書き込む

「Microsoft Accessデータベースエンジンは、オブジェクトのシート1 '(データソースに呼ばれているExcelファイルでワークシートを)見つけることができませんでした。 オブジェクトが存在し、名前とパス名のスペルが正しいことを確認します。 'Sheet1'がローカルオブジェクトでない場合は、ネットワーク接続を確認するか、サーバー管理者に問い合わせてください。

私がしようとしています。これはコードです:

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(); 

任意の助けを心から理解されるであろう、おかげ

答えて

1

は、Accessデータベースを使用する必要が何らかの理由であなたのExcelのファイルを編集するためのコマンドはありますか? そうでない場合は、Excelファイルへの直接アクセスを提供

Microsoft.Office.Interop 

組み立て、見て持つことができる:https://msdn.microsoft.com/en-us/library/ms173186(v=vs.80).aspx

+0

は明らかに目的を達成するための多くの方法がありますが、私はこの方法でそれをしようとしています。このようにExcelファイルはデータベースとして扱われますが、これらは特にACCESSのDBコマンドではありません.SQL Serverは同じものを使用します。 –

+0

残念ながら、私はDBコマンドではないので、私はそのアプローチであなたを助けることはできません。私はあなたが何とかそれを把握することを望む! – Tarrokk

関連する問題