小编San*_*rnm的帖子

尽管使用IMEX = 1,OleDb仍无法从Excel文件中读取所有行

我在C#中使用Microsoft.ACE.OLEDB.12.0驱动程序来读取和写入Excel文件(XLS)。我的阅读器的扩展属性如下:Excel 8.0; HDR = NO; IMEX = 1; 对于作者来说,格式如下:Excel 8.0; HDR = NO; IMEX = 0;

这是场景:我从excel文件中读取了input.xls,并创建了一个新的output.xls文件,并使用我的编写器将其写入。现在,我在MS Excel中打开文件output.xls,并向其中添加几行。

接下来,我将output.xls作为输入输入到程序中,并且在调试时,我看到它仅读取最初使用OleDb编写的行。它不会读取我添加的任何新行,并且编写程序会吐出已读取的行。

这是OleDb的工作方式吗?即将数据库视为被其锁定,并且不重视外部插入。还是我创建和保存文件的方式可能有问题?

private void Initialize(string fileName, FileType fileType)
    {
        string connectionString = GetConnectionString(fileName, fileType);

        string sheet;
        using (OleDbConnection connection = OpenConnection(connectionString))
        {
            DataTable sheets = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

        }

        tableName = "[ListingDetails]";

        conn = new OleDbConnection();
        conn.ConnectionString = connectionString;
        conn.Open();
        cmd1 = new OleDbCommand();
        cmd1.Connection = conn;
        cmd1.CommandText = string.Format(CultureInfo.InvariantCulture, @"CREATE …
Run Code Online (Sandbox Code Playgroud)

.net c# oledb excel

5
推荐指数
1
解决办法
3802
查看次数

标签 统计

.net ×1

c# ×1

excel ×1

oledb ×1