OpenXML SDK mit Rahmen für die Zelle

8

Ich habe den folgenden Code, der eine Zelle mit Werten und Datentypen für diese Zelle in OpenXML SDK hinzufügt:

%Vor%

Wie füge ich für diese Zelle einen Rand auf jeder Seite hinzu? Ich möchte auch eine Hintergrundfarbe auf der Zelle hinzufügen.

Ich habe Folgendes, bin mir aber nicht sicher, wie ich den Rahmen der Zelle hinzufügen soll:

%Vor%

Vielen Dank im Voraus

    
Nate Pet 03.04.2013, 15:34
quelle

3 Antworten

15

Ich empfehle die Installation des Open XML 2.0-Produktivitätstools . Erstellen Sie dann ein leeres Excel-Dokument, das den gewünschten Rahmen und die gewünschte Farbe enthält. Öffnen Sie diese Datei im Produktivitätstool, und klicken Sie dann auf Code spiegeln. Es gibt Ihnen dann den C # -Code, der für die Rand- und Hintergrundfarbe erforderlich ist. Der Code ist ein wenig lang für das Posten, aber wenn Sie diese Schritte befolgen, sollten Sie in der Lage sein, es zu verwenden.

** Bearbeiten **

Die Eigenschaften border und fill werden in einem separaten Teil namens WookbookStylesPart gespeichert. In diesem Teil fügen Sie die Art von Rahmen, Füllung, Schriftart usw. ein, die Sie auf eine Zelle in einer Arbeitsmappe anwenden möchten. Diese Eigenschaften werden in einer Array-Typstruktur gespeichert, in der Sie auf den Style zugreifen, den Sie über einen Index eingefügt haben. Da Sie mehrere Stile auf eine Zelle anwenden können, werden in einem CellFormat -Objekt alle Indizes für die verschiedenen Stile gespeichert. Sobald Sie eine CellFormat für eine Zelle haben, muss ihr Index über die StlyeIndex -Eigenschaft auf die tatsächliche Zelle referenziert werden. So weiß die Zelle, wie man die verschiedenen Stile auf sich selbst anwendet.

Hier ist der Code zum Erstellen des Rahmens:

%Vor%

Hier ist der Code zum Hinzufügen einer Füllung:

%Vor%

Sie benötigen diesen Code, um den Rahmen einzufügen und den Stilteil zu füllen:

%Vor%

Sie müssen zuerst einen Verweis auf die Zelle erhalten, der Sie die Füllung und den Rahmen hinzufügen möchten, wobei cellAddress die Form "B2" hat:

%Vor%

Dann, sobald du deine Zelle hast, musst du die CellFormat , die zu dieser Zelle gehören, holen und auch eine neue CellFormat hinzufügen:

%Vor%

Sobald Sie die CellFormat haben, können Sie nun die Eigenschaften fill und border ändern. Sobald diese geändert wurden, müssen Sie den neuen CellFormat einfügen und dann den Index dieses CellFormat auf den StyleIndex der Zelle richten. Auf diese Weise weiß die Zelle, welche Stile auf sie angewendet werden sollen.

%Vor%     
amurra 04.04.2013, 12:58
quelle
1

Viel einfacher, einfach

aufzurufen %Vor%     
markokstate 10.07.2015 18:07
quelle
0

Das SpreadsheetDocument ist als Sammlung von WorkbookParts strukturiert. Eine davon, das WorkbookStylesPart , enthält alle Stile, die im Dokument verwendet werden. Das WorkbookPart enthält Ihre Arbeitsblätter . Um einen Stil auf eine Zelle oder einen Zellenbereich anzuwenden, müssen Sie die Eigenschaft StyleIndex auf den entsprechenden Stil im WorkbookStylesPart setzen.

Diese Antwort soll Ihnen den Einstieg erleichtern:    Ссылка

    
saarp 05.04.2013 22:42
quelle

Tags und Links