Microsoft Office Access 数据库引擎找不到对象

2023-11-27

我正在尝试将数据从 Excel 复制到 SQL Server,但遇到以下错误。

Microsoft Office Access 数据库引擎找不到对象“sheet1$”。确保该对象存在并且其名称和路径名称拼写正确。

我的代码是:

 protected void importdatafromexcel(string filepath)
    {
        string sqltable = "PFDummyExcel";
        string exceldataquery = "select EmployeeId,EmployeeName,Amount from [Sheet1$]";
        string excelconnectionstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=Excel 12.0;Persist Security Info=False";
        string sqlconnectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["HRGold"].ConnectionString;
        SqlConnection con = new SqlConnection(sqlconnectionstring);
        OleDbConnection oledb = new OleDbConnection(excelconnectionstring);
        OleDbCommand oledbcmd = new OleDbCommand(exceldataquery, oledb);
        oledb.Open();
        OleDbDataReader dr = oledbcmd.ExecuteReader();
        SqlBulkCopy bulkcopy = new SqlBulkCopy(sqlconnectionstring);
        bulkcopy.DestinationTableName = sqltable;
        while (dr.Read())
        {
            bulkcopy.WriteToServer(dr);
        }
        oledb.Close();
    }

请告诉我如何解决这个问题..


出现此错误是因为您尝试访问 Excel 文件中的工作表(名称为sheet1)。默认情况下,第一个工作表名称为“sheet1”,但用户可以重命名此名称或删除此工作表。

要解决此问题,首先您必须从 Excel 文件中获取所有工作表名称,然后必须在上面的代码中传递此工作表名称以导入数据。

string  filePath = "your file path";

string excelconnectionstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=Excel 12.0;Persist Security Info=False";

OleDbConnection Connection  = new OleDbConnection(excelconnectionstring); 


DataTable activityDataTable = Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

if(activityDataTable != null)
{
    //validate worksheet name.
    var itemsOfWorksheet = new List<SelectListItem>();
    string worksheetName;
    for (int cnt = 0; cnt < activityDataTable.Rows.Count; cnt++)
    {
        worksheetName = activityDataTable.Rows[cnt]["TABLE_NAME"].ToString();

        if (worksheetName.Contains('\''))
        {
            worksheetName = worksheetName.Replace('\'', ' ').Trim();
        }
        if (worksheetName.Trim().EndsWith("$"))
            itemsOfWorksheet.Add(new SelectListItem { Text = worksheetName.TrimEnd('$'), Value = worksheetName });
    }
}

// itemsOfWorksheet : all worksheet name is added in this

因此您可以使用 itemsOfWorksheet[0] 作为工作表名称来代替“sheet1”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Microsoft Office Access 数据库引擎找不到对象 的相关文章

随机推荐

  • 如何按第一维对张量进行排序

    我有一个 2D 张量 我想按第一个维度排序 如下例所示 a torch FloatTensor 5 5 5 3 3 5 6 4 3 7 我预计排序后的结果是这样的 a torch FloatTensor 3 5 3 7 5 3 5 5 6
  • 尝试对 var/www/html 使用符号链接

    这就是我想要实现的目标 从中创建符号链接var www html到主目录中的目录 文件夹 我试图在 home 中符号链接到的目录 是一个 git 存储库 如果这有什么区别的话 我在这个目录中有一个index html 文件 我使用以下命令在
  • 如何在 MySQL 中插入大量行?

    例如 如何使用单个查询将 100 000 行插入 MySQL 表中 insert into table values 1 a b 2 c d 3 e f 这将执行 3 行的插入 根据需要继续达到 100 000 在进行 ETL 工作时 我会
  • 使用元类理解 __call__ [重复]

    这个问题在这里已经有答案了 据我了解 call 类中的方法实现了函数调用运算符 例如 class Foo def init self print I m inside the init method def call self print
  • 在Linux Ubuntu下启动时自动运行程序[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 每次启动 Ubuntu Linux 时我都需要运行一个程序 所以我需要将其添加到我的启动程序列表中 只有一个问题 我需要通过终端来完成此操作 sudo mv filename etc
  • 使用 jquery 根据
    标签拆分字符串

    我如何分割包含的字符串 br 使用 jquery 进行标记 我尝试了以下代码 但在控制台中出现错误 我不知道如何根据分割字符串 br 标签 这是我尝试过的代码 jQuery document ready function var lines
  • 如何计算一个数字最接近的 2 或 10 次方?

    计算 2 或 10 与另一个数字最接近的幂的最有效方法是什么 例如 3 5 对于 2 的幂返回 4 对于 10 的幂返回 1 123 将返回 2 的幂 128 和 10 的幂 100 0 24 对于 2 的幂返回 0 25 对于 10 的幂
  • 如何从内核树构建 BPF 程序

    内核提供了许多示例samples bpf 我有兴趣在树之外构建一个示例 就像我们构建一个内核模块一样 其中Makefile可以很简单 是否可以对 bpf 执行相同的操作 我尝试从中删除不必要的部分samples bpf Makefile并保
  • 如何在 Java Web 应用程序中获取服务器名称

    我有一个 Web 应用程序 用户将其部署在自己的 Java Web 服务器 例如 Tomcat 上 Web 应用程序的 Java 端需要报告 Web 应用程序本身的 URL 例如http aServer com 8080 MyApp or
  • 计算 PowerShell 中的字符数、单词数和行数

    在 Linux 中 我们有 wc 命令 它允许我们计算文件中的字符数 单词数和行数 但是我们在 PowerShell 中是否有类似的 cmdlet 我尝试的 Measure Object cmdlet 只能计算行数 而不能计算字符和单词数
  • Pandas:如何查找每个子组的组成员类型百分比?

    问题末尾的数据样本和尝试 使用这样的数据框 Type Class Area Decision 0 A 1 North Yes 1 B 1 North Yes 2 C 2 South No 3 A 3 South No 4 B 3 South
  • 如何使用 Shapeless 迭代联产品中的所有产品类型?

    假设我有一个副产品 密封特征 例如 sealed trait Traity case object Foo extends Traity case class Bar extends Traity case class Baz extend
  • 转义 utf-8 json 上的重音字符

    下面的代码产生以下输出 x Art 120 Incapacit di intendere o di volere 我需要对此进行更改 我想我必须更改编码上的某些内容 但我不知道是什么 x Art 120 Incapacit u00e0 di
  • 如何将带槽的 python 类转换为字典?

    我使用带有插槽的类来减少实例占用的内存 现在 如何将插槽实例转换为字典 插槽类如下所示 class Foo object slots x y z def init self self x 1 self y 2 self z 3 我期望这样的
  • 将图像或视频添加到 iPhone 模拟器

    我正在尝试使用UIImagePickerController with UIImagePickerControllerSourceTypePhotoLibrary 但它说 没有照片 模拟器从哪里获取图像 我应该在哪里复制图像以便它们显示在模
  • g++ 大引号在控制台和“问题”列表中显示不正确

    最近 我从 Visual Studio 切换到 Eclipse CDT 我已经将其设置得很漂亮 这样我的 Cygwin 安装中的 G 编译器就可以毫不费力地找到并编译我的代码 不过 还有一点小小的不满 每次 G 报告警告或错误时 弯单引号
  • 如何在phonegap中的同一应用程序中显示PDF文件

    如何在同一个phonegap应用程序中显示Pdf文件 我尝试了 Inappbrowser Mupdf PDFJS 都使用其他 pdf 查看器显示 PDF 我想在同一个应用程序中打开 pdf 文件 任何人都可以帮助我 提前致谢 对于科尔多瓦
  • jquery切换slideUp/slideDown

    我有一个 div items 如果单击它 则 div choices slipDown 如果再次单击 则 div choices 应该 slipUp 我如何测试选择是否已经下降或上升 我知道我可以存储在一个变量中 并在单击 div item
  • 连接 mongodb 时 connect 不是一个函数

    尝试从以下位置运行该函数时发生错误mongodb将代码连接到数据库的网站 const MongoClient require mongodb const client new MongoClient uri useNewUrlParser
  • Microsoft Office Access 数据库引擎找不到对象

    我正在尝试将数据从 Excel 复制到 SQL Server 但遇到以下错误 Microsoft Office Access 数据库引擎找不到对象 sheet1 确保该对象存在并且其名称和路径名称拼写正确 我的代码是 protected v