因為 NPOI 不支援 Excel 2007 所以我又跑回來試 LinqToExcel ,
利用 LINQPad 直接來測試,是說點下去沒有東西會出來實在是很難用丫!
anyway 我寫了一小段程式來測試,
void Main()
{
var fileName = System.IO.Path.Combine(@"C:\ExportData", "data.CSV");
var excelFile = new LinqToExcel.ExcelQueryFactory(fileName);
excelFile.DatabaseEngine = LinqToExcel.Domain.DatabaseEngine.Ace;
var excel = excelFile.Worksheet<exl>();
foreach (var element in excel)
{
element.Dump();
"".Dump();
}
}
// Define other methods and classes here
public class exl
{
public string no { get; set; }
public string name { get; set; }
public string tel { get; set; }
public string addr { get; set; }
}
重點在於我的電腦是 x64 的,
所以必須加上一行來指定 DatabaseEngine ,
excelFile.DatabaseEngine = LinqToExcel.Domain.DatabaseEngine.Ace
找了很久,也許是因為用 LINQPad 的關係,
因為網頁上的範例只寫了
excelFile.DatabaseEngine = DatabaseEngine.Ace
導致 LINQPad 一直有錯誤,說是 DatabaseEngine 沒有甚麼OOXX的....
搞了我好久,最後還是回到 VS2008 上面去才比較快找到原因,
最後終於可以跑出來了!
但是我還想試 LinqToExcel 一個功能,
var excel = excelFile.Worksheet<exl>()
.Where(d=>d.name=="Frankie");
沒想到這個時候又跳出了 OLE DB 的錯誤了!
找了半天, excel 沒有類似 DatabaseEngine 的屬性可以設定,
所以 LinqToExcel 就到此結束啦!枉費我這麼看好妳~~~