Kann ich auf einer Open XML SDK-generierte Tabelle auto-Breite, ohne die einzelnen Breite Berechnung?

StackOverflow https://stackoverflow.com/questions/2760168

Frage

Ich arbeite eine Excel-Datei aus einer großen Menge von Daten zur Erstellung von dem Open XML SDK. Ich habe schließlich eine funktionale Knoten Spalten bekommen verwaltet, die alle Spalten angibt, die tatsächlich in der Datei verwendet werden. Es gibt eine „BestFit“ Eigenschaft, die auf true gesetzt werden kann, aber dies offenbar nicht alles tun. Gibt es eine Möglichkeit, um automatisch diese Spalten zu „best fit“ gesetzt, so dass, wenn jemand diese Datei öffnet, sind sie bereits auf die richtige Menge bemessen? Oder bin ich gezwungen, zu berechnen, wie weit jede Spalte im voraus sein sollte, und setzen Sie diese in dem Code?

War es hilfreich?

Lösung

So wie ich die Spezifikation zu verstehen und diese MSDN Diskussion , BestFit sagt Ihnen, die Breite wurde automatisch berechnet in Excel, aber es Excel nicht sagen, dass es beim nächsten Mal berechnen soll es wieder geöffnet wird.

Als „goodol“ zeigt in dieser Diskussion, ich denke, die Breite nur berechnet werden, wenn Sie die Spalte angezeigt werden, da sie sich auf den Inhalt abhängt, die Schriftart verwendet, andere Stilparameter ... Also selbst wenn Sie vorab möchten -Berechnen die Breite sich bewusst sein, dass dies nur eine Schätzung ist, und es kann falsch sein, wenn der Inhalt viel „breit“ Zeichen enthalten. Oder ist das Open XML SDK dies für Sie tun?

Andere Tipps

Ich bin mit EPPlus die sehr empfehle ich. Dauerte eine Weile, um herauszufinden, wie es zu tun, dass die Verwendung, hier ist, was ich kam mit:

// Get your worksheet in "sheet" variable

// Set columns to auto-fit
for (int i = 1; i <= sheet.Dimension.Columns; i++)
{
    sheet.Column(i).AutoFit();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top