2012年5月3日 星期四

掰伊~掰伊~~ LinqToExcel !!!


因為 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 就到此結束啦!枉費我這麼看好妳~~~


沒有留言:

張貼留言