我正在通過 oledb 讀取 xlsx 文件。有些行的列(包含日期字符串)返回空值,有些行的列(也包含日期字符串)返回日期字符串。在 Excel 中,列類型設置為“日期”。這是我的連接字符串:$"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={PATH_TO_FILE};Extended Properties=\"Excel 12.0 Xml;HDR=NO\""這是查詢數據的命令文本:$"SELECT * FROM [SHEET_NAME$A4:BC] WHERE F1 IS NOT NULL"這是我從數據記錄中讀取數據的方式:var test = dataRecord.GetValue(dataRecord.GetOrdinal("F39"));以下是檢查員在測試包含日期字符串時向我展示的一些示例:{07.01.1975 00:00:00}{03.08.1987 00:00:00}{03.10.1988 00:00:00}{01.05.1969 00:00:00}{20.12.2016 00:00:00}{18.07.2011 00:00:00}在其他情況下,檢查員僅顯示:{}這是 xlsx 文檔的屏幕截圖,其中我在返回值為空的地方用紅色標記了一行,在返回實際日期字符串的地方用綠色標記了一行:日期字符串的格式如下dd.mm.yyyy為什么這些行返回一個空值而不是日期字符串?正如 AndyG 所建議的,我已經檢查了日期字符串值是否可能因格式的依賴而失敗(“dd.mm.yyyy”與“mm.dd.yyyy”)。但有些情況對“mm.dd.yyyy”無效但不會失敗。
oledb excel 某些日期列返回 null
慕田峪9158850
2022-12-31 11:22:44