none
NPIO cell format problem RRS feed

  • 問題

  • 想請教一下,關於數字的string存成excel後,cell的格式都會出現
    此儲存格內的數字其格式為文字或開頭為單引號的訊息

    想說轉成Int就不會有這樣的訊息出現了
    但是有點怪怪的就是下面這段程式為何compile不過

    int[,] total;
    ...

    float kb=total[i,j]/1024.0;
    cell.SetCellValue(int.Parse( kb.ToString("0.00")));

    上面這樣不曉得為什麼有問題??
    其他地方我也是利用int.Parse()去轉換都沒事

    2011年8月10日 下午 06:50

解答

  • 您好

    假如以你這樣的寫法

    cell.SetCellValue(int.Parse( kb.ToString("0.00")));

    這是有問題的

    kb.ToString("0.00") 表示你取得的字串可能是 x.xx 是有小數的,你用 int.Parse 想轉換為整數,是沒辦法做轉換

    你有試過以下做法了嗎?

    cell.SetCellValue((int)(total[i,j]/1024));


    歡迎參觀我的Blog.NET菜鳥自救會
    • 已標示為解答 Lucas927 2011年8月12日 上午 02:57
    2011年8月11日 上午 07:56
    版主

所有回覆

  • 您好

    1. [compile不過] 錯誤在哪一行,錯誤訊息是什麼?

    2. 是否有設定 cellStyle.setDataFormat

    3. 試試看以下代碼

    cell.SetCellValue((int)(total[i,j]/1024));


    歡迎參觀我的Blog.NET菜鳥自救會

    2011年8月11日 上午 01:29
    版主
  • Dear 小歐,

    cellStyle.setDataFormat 要設定成什麼呢?

    我cellValue的值 是要塞total[,]/1024.0 取小數點兩位

    所以我才先把她轉成string的format

    再轉回Int就有問題了

    info. is "Input string was not in a correct format."

     

    2011年8月11日 上午 07:50
  • 您好

    假如以你這樣的寫法

    cell.SetCellValue(int.Parse( kb.ToString("0.00")));

    這是有問題的

    kb.ToString("0.00") 表示你取得的字串可能是 x.xx 是有小數的,你用 int.Parse 想轉換為整數,是沒辦法做轉換

    你有試過以下做法了嗎?

    cell.SetCellValue((int)(total[i,j]/1024));


    歡迎參觀我的Blog.NET菜鳥自救會
    • 已標示為解答 Lucas927 2011年8月12日 上午 02:57
    2011年8月11日 上午 07:56
    版主
  • cell.SetCellValue((int)(total[i,j]/1024));

    這個就沒小數點囉~~我要取小數點兩位呢

    2011年8月11日 上午 09:59
  • 用Decimal
    2011年8月11日 上午 10:01