Wie den Hintergrund mehrerer Zellen in einer Zeile (oder einer ganzen Zeile) in OpenXml festlegen?Wie setzt man den Hintergrund der Zellen?
mehrere Artikel gelesen hatte:
Ich kann es immer noch nicht funktioniert.
Meine Aufgabe scheint auf den ersten Blick etwas einfacher zu sein und ein wenig anders als das, was in diesen Artikeln geschrieben wird. Die erwähnten Tutorials zeigen hauptsächlich, wie man ein neues Dokument erstellt und es formatiert. Während ich das Styling des bestehenden ändern muss.
Das heißt, ich habe eine bestehende xlsx Dokument (eine Berichtsvorlage). Ich befülle den Bericht mit den notwendigen Werten (geschafft, es dank SO open xml excel read cell value und MSDN Working with sheets (Open XML SDK) zu tun). Aber als nächstes muss ich mehrere Zeilen mit, sagen wir, rotem Hintergrund markieren.
Ich bin weder sicher, ob CellStyle
zu verwenden, noch wenn ich CellFormat
oder etwas anderes verwenden soll ... Das ist, was ich jetzt stand auf:
SpreadsheetDocument doc = SpreadsheetDocument.Open("ole.xlsx", true);
Sheet sheet = (Sheet)doc.WorkbookPart
.Workbook
.Sheets
.FirstOrDefault();
WorksheetPart worksheetPart = (WorksheetPart)doc.WorkbookPart
.GetPartById(sheet.Id);
Worksheet worksheet = worksheetPart.Worksheet;
CellStyle cs = new CellStyle();
cs.Name = StringValue.FromString("Normal");
cs.FormatId = 0;
cs.BuiltinId = 0;
//where are the style values?
WorkbookStylesPart wbsp = doc.WorkbookPart
.GetPartsOfType<WorkbookStylesPart>()
.FirstOrDefault();
wbsp.Stylesheet.CellStyles.Append(cs);
wbsp.Stylesheet.Save();
Cell cell = GetCell(worksheet, "A", 20);
cell.StyleIndex = 1U;//get the new cellstyle index somehow
doc.Close();
Eigentlich würde ich stark ein Licht schätzen Gewicht und einfaches Beispiel, wie man, zum Beispiel, Zelle A20
oder Bereich von A20
zu J20
style. Oder wahrscheinlich ein Link zu einem mehr aufeinander folgenden Tutorial.