OpenXML SDK, die Grenzen für die Zelle
Ich habe den folgenden code fügt hinzu, dass eine Zelle mit Werten und Daten-Typ für diese Zelle in OpenXML SDK:
Cell cell = InsertCellInWorksheet(column, row, worksheetPart);
cell.CellValue = new CellValue(index.ToString());
cell.DataType = new EnumValue<CellValues>(CellValues.SharedString);
Für diese Zelle, wie füge ich einen Rand auf jeder Seite? Ich möchte auch hinzufügen einer hintergrund-Farbe auf die Zelle als gut.
Habe ich die folgenden aber nicht sicher, wie Sie die Rahmen auf die Zelle:
Borders borders1 = new Borders() { Count = (UInt32Value)1U };
Border border1 = new Border();
LeftBorder leftBorder1 = new LeftBorder();
RightBorder rightBorder1 = new RightBorder();
TopBorder topBorder1 = new TopBorder();
BottomBorder bottomBorder1 = new BottomBorder();
border1.Append(leftBorder1);
border1.Append(rightBorder1);
border1.Append(topBorder1);
border1.Append(bottomBorder1);
borders1.Append(border1);
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Empfehle ich die Installation der Open XML 2.0 productivity tool. Dann erstellen Sie ein leeres Excel-Dokument mit der Grenze und der Farbe, die Sie wünschen. Öffnen Sie diese Datei in das Produktivitäts-tool, und klicken Sie dann auf spiegeln code. Es wird dann geben Sie den C# - code, der erforderlich ist, um zu produzieren, dass die Grenz-und hintergrund-Farbe. Der code ist ein bisschen lange für das posting, aber wenn Sie Folgen Sie diesen Schritten sollten Sie in der Lage sein, es zu benutzen.
**Edit**
Den Rahmen und Füllung Eigenschaften gespeichert werden in einem separaten Teil namens die
WookbookStylesPart
. Dieser Teil ist, wo Sie legen Sie die Art der Grenze, Füllung, schriftart, etc., die Sie verwenden möchten, um eine Zelle in einer Arbeitsmappe. Diese Eigenschaften sind gespeichert in einem array-Typ-Struktur, wo Sie Zugriff auf die Formatvorlage, die Sie eingefügt über einen index. Da kann man mehrere Stile angewendet, um eine Zelle, einCellFormat
Objekt ist, wo die Indizes für die verschiedenen Stile gespeichert sind. Sobald Sie eineCellFormat
für eine Zelle, index Bedarf verwiesen werden, die auf die aktuelle Zelle über dasStlyeIndex
Eigenschaft. Das ist, wie die Zelle weiß, wie die verschiedenen Stile auf sich selbst.Hier ist der code zum erstellen der Grenze:
Hier ist der code zum hinzufügen einer Füllung:
Müssen Sie diesen code zum einfügen von Rahmen und Füllung in der Stil-Teil:
Müssen Sie zuerst einen Verweis auf die Zelle, die Sie möchten, fügen Sie die Füllung und den Rand, wo die cellAddress ist in der form von "B2":
Dann sobald Sie Ihre Zelle, die Sie brauchen, um die
CellFormat
gehören, die Zelle und auch das hinzufügen eines neuenCellFormat
:Sobald Sie die
CellFormat
können Sie nun verändern, die Füllung und Rahmen-Eigenschaften. Sobald diese geändert werden, müssen Sie die neueCellFormat
und zeigen Sie dann den index, dieCellFormat
zu denStyleIndex
auf die Zelle. Dies ist, wie die Zelle, wird wissen, was Stile anwenden auf sich selbst.generated code
in Ihrem Projekt und ändern, wo nötig. Ich würde empfehlen, sich zu teilen Sie den code in eine Reihe von#region
Blöcke zu verstecken, das Zeug, das ist Ihnen langweilig, zu konzentrieren auf, was Sie brauchen, zu ändern oder zu kopieren. Archiv auch die unverändert generierten code. Wenn Sie später eine kleine änderung vornehmen, um Ihre Vorlage Tabellenkalkulation, betrachten Sie den code, die änderungen mit Ihremdiff
toolDen SpreadsheetDocument strukturierte Sammlung von WorkbookParts. Einer von Ihnen, der WorkbookStylesPart, enthält alle im Dokument verwendeten Formatvorlagen. Die WorkbookPart enthält Ihre Arbeitsblätter. Um einen Stil, um eine Zelle oder einen Bereich von Zellen, die Sie benötigen, um die StyleIndex - Eigenschaft auf die entsprechende Formatvorlage in der WorkbookStylesPart.
Diese Antwort sollte Ihnen den Einstieg erleichtern:
https://stackoverflow.com/a/11118442/741326
Viel einfacher einfach anrufen