Eine Formatierung in TotalsRow mit EPPlus
Mit EPPlus, kann ich das XSLX-Datei und ich kann Sie formatieren, um die Daten, aber wenn ich einen TotalsRow Funktion, wie SUM, dann wird die Formatierung nicht angewendet.
Weiß jemand, wie man diese formatieren?
Update:
Laden der Daten in ein Blatt und Holen Sie sich die Tabelle mache ich Folgendes (dtMain ein DataTable):
FileInfo newFile = new FileInfo(@"C:\Temp.xslx");
using (ExcelPackage package = new ExcelPackage(newFile))
{
//Create the Worksheet
var sheet = package.Workbook.Worksheets.Add("Sheet1");
//Read the table into a sheet
var range = sheet.Cells["A1"].LoadFromDataTable(dtMain, true);
sheet.Tables.Add(range, "data");
//Now format the table...
var tbl = sheet.Tables[0];
tbl.ShowTotal = true;
//create a custom style
string stylename = "StyleName";
var style = package.Workbook.Styles.CreateNamedStyle(stylename);
tbl.Columns[SomeName].TotalsRowFunction = RowFunctions.Sum;
style.Style.Numberformat.Format = "#,###.00";
//assign the style to the column
tbl.Columns[SomeName].DataCellStyleName = stylename;
}
range.AutoFitColumns();
//save our new workbook and we are done!
package.Save();
- Wie sind Sie derzeit versucht, fügen Sie Formatierung zum
ExcelRange
? - Ich aktualisierte mein code zu zeigen, wie ich die Formatierung übernehmen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie sagen, "TotalsRow" meinst du eine SUMME Spalte am Ende der Zeile? Wenn ja, könnten Sie die Vermischung der Begriffe, da die
TotalsRow
bezieht sich auf eine Zeile am Ende der Tabelle. Um zu zeigen, es Sie haben umShowTotal
zutrue
als gut.Wenn Sie wirklich wollen, um die Summe der Spalten in der letzten Spalte soll eine Formel anzuwenden.
Sehen, ob das hilft:
UPDATE (Antwort auf Kommentare)
Ich sehe, was du jetzt meinst. Wie wäre es damit:
Fügen Sie diese auf den code:
Blatt.Zellen[Blatt.Dimension.Ende.Zeile, colcount].Stil.Numberformat.Format = c.Format;
Vollversion: