2010-09-02 4 views

Antwort

21

ExcelPackage liest die NumberFormats auf Zellen aus. So können Sie einfach ein Beispiel in Excel machen und dann die Zellen auslesen und sehen, was das Format für Dinge ist, die Sie tun möchten.

Hier ist ein Beispiel für drei verschiedene Möglichkeiten zum Formatieren von Währungen. Beachten Sie, dass das letzte Zeichen das $ -Zeichen "fest codiert", was möglicherweise keine Best Practice ist.

using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo("testReport.xlsx"))) 
{ 
    ExcelWorksheet ws = excelPackage.Workbook.Worksheets.Add("worksheet"); 

    ws.Cells[1, 1, 3, 1].Value = 0d; 
    ws.Cells[1, 2, 3, 2].Value = -14.957d; 
    ws.Cells[1, 3, 3, 3].Value = 5000000.00d; 
    ws.Cells[1, 4, 3, 4].Value = -50000000000.00d; 
    ws.Cells[1, 1, 1, 4].Style.Numberformat.Format = "#,##0.00;(#,##0.00)"; 
    ws.Cells[2, 1, 2, 4].Style.Numberformat.Format = "#,##0.00;-#,##0.00"; 
    ws.Cells[3, 1, 3, 4].Style.Numberformat.Format = "\"$\"#,##0.00;[Red]\"$\"#,##0.00"; 
    ws.Cells[1, 1, 3, 4].AutoFitColumns(); 

    excelPackage.Save(); 
} 
+0

Es gibt keine Zellen Eigenschaft in Arbeitsblatt-Objekt ist –

+2

Es gibt eine Eigenschaft Cel im Arbeitsblatt überprüfen, bitte Dein Code nochmal. – Exzile

+0

Nur für jeden anderen, diese Formate werden sicherstellen, dass das Format-Dropdown in Excel "Währung", "Nummer" usw. statt "Benutzerdefiniert" lautet – Shoe

8
ExcelPackage package = new ExcelPackage(); 
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1"); 
worksheet.Cells[1, 1].Value = 1.50; 
worksheet.Cells[1, 1].Style.Numberformat.Format = "$0.00"; 

Diese $ 1,50 als Zahl in Ihrer Kalkulationstabelle

Verwandte Themen