无法分析某些excel列



您好!

我试图打开excel文件并将其解析为数据集。

所以,我使用OleDbConnection:

if (_filePath.Substring(_filePath.LastIndexOf('.')).ToLower() == ".xlsx")
            //                 strConn =  "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
            //                    + _filePath + ";Extended Properties="Excel  12.0;HDR=" + HDR + ";IMEX=0"";
             strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
                    + _filePath + ";Extended Properties="Excel 12.0 Xml;HDR=" + HDR + ";IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text;"";
        //   strConn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _filePath + ";Extended Properties=Excel 12.0;";
        else
            strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _filePath + ";Extended Properties="Excel 8.0;HDR=" + HDR + ";IMEX=1"";

但是有些栏是空的!下一列解析得很好(使用相同的数据)。

你能告诉我怎么修吗?

然后我填充数据集:

 OleDbConnection conn = new OleDbConnection(strConn);

            System.Data.DataSet dtSet;
            System.Data.OleDb.OleDbDataAdapter oleCommand;
            oleCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [" + sheetName + "]", conn);
            oleCommand.TableMappings.Add("Table", sheetName);
            dtSet = new System.Data.DataSet();
            oleCommand.Fill(dtSet);
            oleCommand.Dispose();
            conn.Close();
            return dtSet.Tables[0];

但是,有些列是空的!

可能是,这是因为excel文件的格式为:

 Cell1--------------|Value1------------|
 Cell2---|Cell3-----|Value2---|Value4--|

因此,数据集填充列:

Cell1---|-------|--Value1------|-----|
Cell2---|Cell3--|---Empty(!)---|Value4|

所以,我需要获得Empty(!)列。

关于列中的无效数据。

我复制并粘贴这个专栏在右边的专栏-它工作!

但是,我应该使用最后一种格式,而不是我的。

HDR="否";

也许你遇到了这个错误:

OleDB&混合Excel数据类型:缺少数据

"HDR"的价值是什么?看看列的数据类型,也许它们是混合的。

相关内容

  • 没有找到相关文章

最新更新