我目前正在寫一個應用程序(C#)生成一個excel文件報告的基礎上,其他報告。如何更改使用C#的Excel單元格的文本格式?
的問題是,一旦獲得從某一片的數目,並複製到另外一個,目的小區沒有被正確格式化,並且數量正確地做無顯示。
E.g :
Number from source : 14.34
Number on destination : 14.345661
如何格式化目標單元格以強制數據格式化與源單元格相同。
謝謝!
我目前正在寫一個應用程序(C#)生成一個excel文件報告的基礎上,其他報告。如何更改使用C#的Excel單元格的文本格式?
的問題是,一旦獲得從某一片的數目,並複製到另外一個,目的小區沒有被正確格式化,並且數量正確地做無顯示。
E.g :
Number from source : 14.34
Number on destination : 14.345661
如何格式化目標單元格以強制數據格式化與源單元格相同。
謝謝!
給定小區/範圍在Excel的格式可以通過代碼來設置。
public void SetCustomFormat(string format, int r, int c)
{
((Excel.Range)xlWks.Cells[r, c]).NumberFormat = format;
}
在特定情況下,我相信你會需要使用的格式「#.00」或
下面是一些代碼,我已經在使用中有一個片段,向您展示用於格式化單元格的一般模式。很明顯,有一些變量被聲明,但它應該會告訴你你需要什麼。
sheet.get_Range("A" + CurrentRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).Font.Bold = true;
sheet.get_Range("A" + CurrentRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).Interior.Color = Color.Silver.ToArgb();
sheet.get_Range("A" + CurrentRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null);
sheet.get_Range("A" + CompetencyStartRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null);
也就是說第一行,假設CurrentRowIndex = 1和ColPrefix = 「B」,與得到的值替換變量將轉化爲
sheet.get_Range("A1", "B1").Font.Bold = true;
在任何情況下,你要設置的NumberFormat。 (即將..)
sheet.Cells[Row, Column].NumberFormat = "0.00"
感謝您的幫助,但是這是不是我在找什麼。 我正在尋找一種方式來格式化單元格,而不是電池本身喜歡的背景或字體格式中的文本。 我希望文本以另一種方式來解釋 –
我的回答的最後一行似乎回答你要找的內容。也許我應該刪除其餘的,因爲它是無關的。有時我會愚蠢地嘗試完成,當我應該簡明。 ;-) – David
是的,最後一行解決了我的問題。謝謝:D –
各種例子在這裏「###」:https://support.office.com/ EN-US /條/創建或 - 刪除-A-自定義數字格式,2d450d95-2630-43b8-bf06-ccee7cbe6864?UI = EN-US&RS = EN-US&AD = US –