如何通过C#

时间:2019-02-13 21:21:06

标签: c# excel oledbconnection oledbcommand oledbdataadapter

我正在通过以下代码读取C#中的excel文件:

DataTable retVal = new DataTable();
try
{
     DataTable excelDataTable = new DataTable();
     OleDbCommand command = new OleDbCommand(string.Format("SELECT {0} FROM [{1}]",
                columnNames,
                _sheetName), _fileConnection);

     //CommandText is like: "select col1,col2,col3,val1,val2,val3 from Excel2017w$"

     OleDbDataAdapter da = new OleDbDataAdapter(command);
     da.Fill(retVal);
}
catch(Exception ex) {...}

这很好,除了一种情况:值1和值2的值仅对于行1变为空白,因为最终用户出于某种原因将单元格的格式设置为“文本”(可能是复制粘贴问题)其他设置为“常规”。一些最终用户不知道如何更改单元格的格式类型。这就是为什么我在寻找一种方法来获取数值,而单元格格式无关紧要。

enter image description here

任何帮助或建议,将不胜感激。

Provider=Microsoft.ACE.OLEDB.12.0

0 个答案:

没有答案