Gibt es eine Möglichkeit, die Breite einer Spalte mithilfe der OpenXml-Bibliothek in C# festzulegen?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Gibt es eine Möglichkeit, die Breite einer Spalte mithilfe der OpenXml-Bibliothek in C# festzulegen?

Post by Anonymous »

Ich habe eine Word-Tabelle mit 2 Spalten. Ich versuche, Word dazu zu bringen, Spalte1 nicht zu komprimieren, wenn Spalte2 langen Text enthält, der umbrochen wird.

Hier ist das beabsichtigte Layout:

Spalte1 Spalte2
------- -------
1. Langer Text, der
mehrmals umbricht.
Ein weiterer Absatz von
Langtext, der umbrochen wird.

2. Längerer Text, der erneut
umbrochen wird.
Außerdem ein weiterer Absatz
mit langem Umbruchtext.


Hinweis: Spalte2 enthält zwei Absätze in jeder Zelle. Ich bin mir nicht sicher, ob das wichtig ist, aber das muss drin sein.

Wenn die Anzahl der Tabellenzeilen zweistellig ist und ich das fertige Dokument programmgesteuert an den Browser sende Auf der Client-Site (sie sehen es als Download und öffnen es in Word) passiert Folgendes:

Spalte1 Spalte2
--- ---- -------
. .
. .

9. Langer Text, der
mehrmals umbricht.
Ein weiterer Absatz von
Langtext, der umbrochen wird.

1 Mehr langer Text, der
0. erneut umbricht.
Außerdem ein weiterer Absatz
mit langem Umbruchtext.

1 Mehr langer Text, der
1. erneut umbrochen wird.
Außerdem ein weiterer Absatz
mit langem Umbruchtext.


Beachten Sie, wie „10.“ und „11“. in Spalte1 werden umbrochen (weil Word beschlossen hat, die Breite dieser Spalte zu verringern, glaube ich)

Ich habe versucht, die GridColumn-Breite zu erhöhen (sogar auf einen großen Wert). ohne Erfolg. Word scheint die Spaltenbreite immer so anzupassen, wie es es für am besten hält ... denke ich. Ich habe in anderen Foren (nicht auf Microsoft-Websites) gelesen, dass alle Breiteneinstellungen nur als „bevorzugt“ gelten. Ich bin mir nicht sicher, ob das wahr ist, aber in diesem Fall scheint es wahr genug zu sein!!

Ich habe es mit der Einstellung versucht

Code: Select all

new TableCellProperties()
{
Width = "4000",
Type = TableWidthUnitValues.Pct
}
auch

Code: Select all

{
Width = "3170",
Type = TableWidthUnitValues.Dxa
}
Ich habe auch versucht, das Tabellenlayout auf „Fixed“ zu setzen:

Type = TableLayoutValues.Fixed
Setzen Sie außerdem die Tabellenzellenränder und den TableCellSpacing in den Tabelleneigenschaften auf 0; aber nichts hat geholfen.

Gibt es eine OpenXml-API, die Word anweist, sich nicht mit der Breite einer Spalte herumzuschlagen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post