0
我用這個功能來讀取XLS信息(2003)文件讀字段類型錯誤文件
var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", path);
var adapter = new OleDbDataAdapter("SELECT * FROM [page1$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "anyNameHere");
var data = ds.Tables["anyNameHere"].AsEnumerable();
List<client> query = data.Where(x => x.Field<string>(1) != string.Empty)
.Select(x =>
new client
{
Code = x.Field<string>(1) != null ? x.Field<string>(1) : "None",
name = x.Field<string>(2),
}
在文件中的一些代碼有一個整型格式,如「2100」以及其他類似的「G200」,但場(1)被讀取爲double,並且不能讀取第二個類型(轉換錯誤)。我看了一下xls文件和標準類型的列,即使我把它寫成文本,但我有同樣的問題。
PS:我一步一步使用,發現數據具有第二種類型NULL的字段代碼。
@GertArnold:
1 => M; 2801; Ronald
2 => M; 3005; Soufian
3 => F; 2009;伊麗莎白
。
。
121 => M; G125; khaled => le code est lu null
雖然我不能幫你在你的問題的細節(不流利的C#),我可以告訴你,當連接到一個Excel文件作爲數據庫時,適配器「猜測」的數據類型基於你桌子前幾行的內容。希望有所幫助。 – Pynner 2011-12-28 19:12:41
@Pynner:我用第二種類型的代碼在文件的第一個中寫了一些ligne,但是在數據中是NULL! – Akrem 2011-12-29 08:56:59
請在您的帖子中顯示xls的前幾行。 – 2012-01-12 08:09:14