Mein Büro Excel ist im französischen Format konfiriert (Trennzeichen Dezimal = Punkt und Trennzeichen Tausend = Leerzeichen) Ich lade ein Blatt mit csv-Datei mit französischer Format-Dezimalzahl:
Mein Code:
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();
Aber ich habe eine Ausnahme auf "Blatt".Berechnung();" Was ist, wenn ich das Format meiner Dezimalzahl ändere, die meine XLSX-Datei gut macht, aber beim Öffnen von Excel ein Fehler auftritt?
Antworten:
3 für die Antwort № 1Ich war mit dem ähnlichen Problem konfrontiert. Festlegen der Formatzeichenfolge auf "#,##0.00"
tat den Trick in meinem Fall.