[C#] DataTable.Compute 指定的轉換無效

  • 2499
  • 0
  • 2016-03-23

DataTable.Compute 指定的轉換無效

這個鬼問題浪費了我一個半小時...

所以一定要好好紀錄下來!

 

需求:

讀Excel,加總其中一個欄位。

 

一開始的想法非常的簡單:

用OLEDB讀進DataTable,

然後用Compute去SUM,

結束。

decimal sumObject =(decimal)DataTable.Compute("Sum(Columns)", "");

 

但是!老天就是愛跟人開玩笑,

這方法一直出現 System.InvalidCastException: 指定的轉換無效。

該死的,到底哪裡有問題啊 QQ

 

最後還是前輩出手相救,

object sumObject =DataTable.Compute("Sum(Columns)", "");
decimal sumval = Convert.ToDecimal(sumObject);

沒錯,就是分兩段!

但是到底為什麼要分兩段呢?

問前輩他也不知道......

總之這問題我卡了一個半小時 QQ