【解決方法】 Excel シートにデータを挿入する必要がありますが、次のエラーが発生します:- 操作では更新可能なクエリを使用する必要があります。 私の .xlsx ファイルが存在する全員のフォルダーにアクセス許可を与えました。 私は…

プログラミングQA


Excel シートにデータを挿入する必要がありますが、次のエラーが発生します:- 操作では更新可能なクエリを使用する必要があります。 私の .xlsx ファイルが存在する全員のフォルダーにアクセス許可を与えました。 C# を使用して Visual Studio 2012 Express を使用しています。
コードは次のとおりです-

C#
private void InsertData()
       {
           //--
           try
           {
               System.Data.OleDb.OleDbConnection MyConnection;
               System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
               string sql = null;
               //string path = System.IO.Path.GetFullPath(Server.MapPath("~/InformationNew.xlsx"));
               string path = "D:/ttt.xlsx";
               //MyConnection = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';");
               string connstr= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:/ttt.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=Yes;IMEX=1\"";

               MyConnection =new OleDbConnection(connstr);
               MyConnection.Open();
               myCommand.Connection = MyConnection;
               //sql = "Insert into [Sheet1$] (id,name) values('5','e')";
               sql = "Insert into [Sheet1$](a,b,c,d) Values('1','Vikas','Bohra','50')";
               //sql = "Select * From [Sheet1$]";
               myCommand.CommandText = sql;
               myCommand.CommandType = CommandType.Text;
               myCommand.ExecuteNonQuery();
               MyConnection.Close();
           }
           catch (Exception ex)
           {
               Response.Write(ex.ToString());
           }


           //--
       }

解決策 1

StackOverflow の質問には、おそらく機能する次の応答が返されました…

接続文字列から IMEX=1 を削除します。 それは私にとってはうまくいきます。

http://stackoverflow.com/questions/12002805/update-an-excel-sheet-using-vba-ado[^]

解決策 2

この権限を設定するには、Excelsheet フォルダー (またはファイルを配置した他のフォルダー) を右クリックし、[プロパティ]を選択します。[共有]タブを探します。 共有ボタンをクリックし、すべての名前に読み取りおよび書き込み権限を与えてから、共有ボタンをクリックします。 それでおしまい。 これで完了です。 これでうまくいきます。 私のために働いています。

コメント

タイトルとURLをコピーしました