无法parsing一些excel列

美好的一天!

我尝试打开并parsingExcel文件到数据集。

所以,我使用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\""; 

但有些专栏是空的! 下一列parsing得很好(具有相同的数据)。

你能告诉我如何解决它?

然后我填写数据集:

  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| 

所以,我需要得到空(!)列。

关于列中的无效数据。

我把这个专栏复制并粘贴在右栏 – 它的工作原理!

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

HDR = “NO”;

也许你碰到这个错误:

OleDB和混合Excel数据types:缺less数据

“HDR”的价值是什么? 看看列的数据types,也许它们是混合的。