如何将行插入Excel工作表中的表对象?

Den*_*sov 16 c# windows excel ado.net

我在尝试将行插入现有表对象时遇到困难.这是我的代码片段:

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\myExcelFile.xlsx" + ";Extended Properties=\"Excel 12.0;ReadOnly=False;HDR=Yes;\"";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
    conn.Open();
    OleDbCommand cmd = new OleDbCommand();
    cmd.Connection = conn;

    string insertQuery = String.Format("Insert into [{0}$] (ID, Title,NTV_DB, Type ) values(7959, 8,'e','Type1')", TabDisplayName);
    cmd.CommandText = insertQuery;
    cmd.ExecuteNonQuery();
    cmd = null;
    conn.Close();
}
Run Code Online (Sandbox Code Playgroud)

结果,我将我的行插入到现成的表对象下面:

在此输入图像描述

我也尝试在表对象中插入数据,如下所示:

 string insertQuery = String.Format("Insert into [{0}$].[MyTable] (ID, Title,NTV_DB, Type ) values(7959, 8,'e','Type1')", TabDisplayName);
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

Microsoft Access数据库引擎找不到对象'MyTable'.确保对象存在,并正确拼写其名称和路径名称.如果"MyTable"不是本地对象,请检查您的网络连接或联系服务器管理员.

如您所见,具有名称的表MyTable确实存在.如果有人能对这个谜团有所了解,我将非常感激.

在此输入图像描述

小智 -1

我不确定 Access C# 的工作方式与 Excel 相同,但这对我来说适用于电子表格。也许它可以帮助你?

Table3.ListRows[1].Range.Insert(Excel.XlInsertShiftDirection.xlShiftDown);
Run Code Online (Sandbox Code Playgroud)