0
這裏是我的代碼來讀取上傳的Excel文件。過去3個月工作非常好。讀取鎖定的Excel(.xlsx)文件,使用C#
var connectionString = GetOleDbConnectionString(file);
using (var dataAdapter = new OleDbDataAdapter("select * from [Sheet1$]", connectionString))
{
dataAdapter.Fill(ds, tableCount.ToString());
}
private static string GetOleDbConnectionString(string file)
{
var fileExtension = Path.GetExtension(file);
if (fileExtension.EqualsCCIC(".xlsx"))
{
return @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;".F(file);
}
}
問題:上傳Excel文件了 「起始日期」 作爲第一列。但是這個專欄也有員工姓名和日期(我需要閱讀此員工姓名才能處理此工作表)。
我遇到了一個新的Excel文件(Excel2007 .xlsx)。當我上傳新文件(其中包含員工姓名和日期)時,只會從列中讀取日期並忽略員工姓名。我的數據集顯示(在調試時)數據表中的單元格爲空字符串。根據業務邏輯,我需要知道這些日期屬於哪個員工。我刪除了整個工作表的鎖(單元格格式>>保護>>鎖),但仍然沒有用。我怎麼解決這個問題?我沒有線索......
它正在成功讀取舊文件(2007 .xlsx)我不明白它是什麼讓OLEDB在Date列中隱藏字符串?
謝謝,我只是修改我的連接字符串的答案。在擴展屬性中包含HDR =否; IMEX = 1。 – Jayee