iT邦幫忙

2

C# 資料匯出EXCEL

小k 2018-01-30 10:52:429200 瀏覽

有關C#程式我將相關資料撈出來,然後匯入到EXCEL等等...
(一)發現預覽列印的時候,只能印到那一條虛線(只能印到UNIT那個欄位),請問該如何調整?
題外話,之前都預覽列印跟實際列印下來都沒問題,後來只有新增匯入資料(FOR迴圈)跟有關金額單價等等匯入到EXCEL裡面的格式等等,
昨天下班前還正常(我還看了一下我昨天列印出來的),今天還要再調整,先RUN一下,才發現...那條虛線位置,
我有透過調整EFG的欄寬可以在一張A4完整印出,但我想說有無其他方式。
(二)今天匯出金額欄位,我利用String.Format的方式,達到四捨五入到小數第N位
amount = String.Format("{0:N4}",amount1) => 四捨五入,然後到小數第4位
但若是今天amount1 = "26.7" 則 amount 會顯示 "26.7000"
我是不想後面有沒意義的0出現。

有顏色的框框代表有資料匯入的區塊
謝謝各位幫忙~

https://ithelp.ithome.com.tw/upload/images/20180130/20104137q9B7OsmGCA.png

若你是用NPOI滙的話,可以用SetPrintArea來設定列印範圍。
小k iT邦新手 4 級 ‧ 2018-01-31 17:18:49 檢舉
我是用Microsoft.excel的~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
allenlwh
iT邦高手 1 級 ‧ 2018-01-30 11:02:35

試試這個

num=26.7
String.Format("{0:##.####}", num)

display=26.7
看更多先前的回應...收起先前的回應...
小k iT邦新手 4 級 ‧ 2018-01-30 11:15:37 檢舉

請問這有四捨五入之功能?

小k iT邦新手 4 級 ‧ 2018-01-30 11:27:18 檢舉

.####表示取到第4位?
若是0:##.##表示第2位

那整數位是0:##.這樣嗎?
非常有用 謝謝你~

allenlwh iT邦高手 1 級 ‧ 2018-01-30 11:29:46 檢舉

試試這個

num = 26.7589765;
num=Math.Round(num,2);
MessageBox.Show(String.Format("{0:##.####}", num)); ==>26.76
===============================================
num = 26.75123456;
num = Math.Round(num, 2);
MessageBox.Show(String.Format("{0:##.####}", num));==>26.75
小k iT邦新手 4 級 ‧ 2018-01-30 11:52:34 檢舉

我還想可以偷懶不用到math.round這個函數
另外請教若需要千分位該如何設定?
因為本來的方法匯出後有千分位...

allenlwh iT邦高手 1 級 ‧ 2018-01-30 12:32:57 檢舉
num = 98765426.7589765;
num=Math.Round(num,2);
MessageBox.Show(String.Format("{0:#,###.####}", num)); ==>98,765,426.76

小k iT邦新手 4 級 ‧ 2018-01-30 13:07:25 檢舉

謝謝!!我懂意思了,可以去指定出來的顯示格式方式!

小k iT邦新手 4 級 ‧ 2018-02-01 14:59:57 檢舉

現在發現Math.Round()不是我想像中的四捨五入
就像 1170.975 四捨五入到第二位 應該是1170.98
但實際上出來是 1170.97

 private void button1_Click(object sender, EventArgs e)
        {
            double price = 1170.975;

            double total = Math.Round(price, 2, MidpointRounding.AwayFromZero);

            textBox1.Text = Convert.ToString(total);

        }

算錢要用Decimal......
算錢用浮點早晚被人扁....
/images/emoticon/emoticon05.gif

我要發表回答

立即登入回答