2015-05-20 15 views
6

văn phòng của tôi Excel là confirate trong Format Pháp (thập phân = Point và tách ngàn = không gian) tôi tải một tấm với tập tin csv với Pháp số định dạng thập phân:Làm cách nào để thay đổi định dạng số thập phân trong EpPlus?

Mã của tôi:

var range = sheet.Cells["A3"].LoadFromText(new FileInfo(fileCSVFull), format, TableStyles.Medium27, true); 
var numStyle = package.Workbook.Styles.CreateNamedStyle("TableNumber"); 
numStyle.Style.Numberformat.Format = "# ##0,00"; 

var tbl = sheet.Tables[0]; 
tbl.ShowTotal = true; 
tbl.Columns[0].TotalsRowLabel = "Total"; 

tbl.Columns[1].TotalsRowFunction = RowFunctions.Sum; 
tbl.Columns[1].DataCellStyleName = "TableNumber"; 
tbl.Columns[2].TotalsRowFunction = RowFunctions.Sum; 
tbl.Columns[2].DataCellStyleName = "TableNumber"; 
tbl.Columns[3].TotalsRowFunction = RowFunctions.Sum; 
tbl.Columns[3].DataCellStyleName = "TableNumber"; 

string numcell = "E4:E"+(3 + nbline); 
sheet.Cells[numcell].Formula = "B4*C4"; 
sheet.Cells[numcell].StyleName = "TableNumber"; 

sheet.View.ShowGridLines = false; 
sheet.Calculate(); 
sheet.Cells[sheet.Dimension.Address].AutoFitColumns(); 

Nhưng tôi có một ngoại lệ về "sheet.Calculate();" Nếu tôi thay đổi định dạng số thập phân của mình thì tệp XLSX của tôi được tạo nhưng tôi gặp lỗi khi mở Excel dưới dạng định dạng thập phân của tôi không được phiên bản Excel tiếng Pháp của tôi nhận dạng.

+2

Mở Excel và định dạng ô theo cách bạn muốn, sau đó nhấp chuột phải vào ô và chọn tùy chọn "Định dạng ô" và chọn tùy chọn "Tùy chỉnh". Bạn sẽ thấy Excel đang mong đợi định dạng số để có được kết quả mong muốn của bạn. – Anthony

+0

Cảm ơn bạn đã trả lời, nhưng tôi tạo 50 tệp mỗi ngày và tôi không thể yêu cầu khách hàng của mình thực hiện hành động này mỗi lần! Làm thế nào để EPPLUS có tính đến bối cảnh khu vực? – FredG

+0

Tôi nói rằng * bạn * có thể thực hiện việc này để xác định phiên bản tiếng Pháp của chính Excel đặt cho văn bản định dạng số cho định dạng bạn muốn và sau đó đặt định dạng số đó vào mã của bạn. – Anthony

Trả lời

3

Tôi gặp vấn đề tương tự. Đặt chuỗi định dạng thành "#,##0.00" đã thực hiện thủ thuật trong trường hợp của tôi.

+1

Tôi mong rằng EPPlus, không giống như Excel, luôn sử dụng ngôn ngữ en-US khi diễn giải chuỗi định dạng số tùy chỉnh. Điều đó có nghĩa là chuỗi định dạng nên sử dụng ',' (dấu phẩy) cho nghìn dấu tách và '.' (dấu chấm) cho dấu phân cách thập phân. –

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