2010-09-02 26 views

Trả lời

21

ExcelPackage sẽ đọc số NumberFormats trên ô. Vì vậy, bạn chỉ có thể làm một mẫu trong Excel sau đó đọc ra các tế bào và xem những gì các định dạng cho những điều bạn muốn làm.

Dưới đây là ví dụ về ba cách khác nhau để định dạng đơn vị tiền tệ. Lưu ý "mã cứng" cuối cùng là ký tự $, có thể không phải là phương pháp hay nhất.

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

Không có tài sản tế bào trong bảng tính đối tượng –

+2

Có một tài sản tế bào trong bảng tính, hãy kiểm tra mã của bạn một lần nữa. – Exzile

+0

Chỉ dành cho bất kỳ ai khác, các định dạng này sẽ đảm bảo thả xuống định dạng trong excel lần đọc "Tiền tệ", "Số", v.v. thay vì "Tùy chỉnh" – 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"; 

này sẽ tạo ra $ 1.50 dưới dạng số vào speadsheet bạn

Các vấn đề liên quan