Posso impostare automaticamente la larghezza su un foglio di calcolo Open XML SDK generati senza calcolare le singole larghezze?

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

Domanda

Sto lavorando sulla creazione di un file di Excel da un ampio insieme di dati utilizzando l'Open XML SDK. Sono finalmente riuscito a ottenere un nodo Colonne funzionali, che specifica tutte le colonne che saranno effettivamente utilizzati nel file. V'è una proprietà "BestFit" che può essere impostata su true, ma questo a quanto pare non fa nulla. C'è un modo per impostare automaticamente queste colonne di "best fit", in modo che quando qualcuno apre il file, che stanno già dimensionati per l'importo corretto? O sono costretto per calcolare la larghezza di ogni colonna deve essere in anticipo, e impostare questa nel codice?

È stato utile?

Soluzione

Il modo in cui ho capito le specifiche e questo MSDN discussione , BestFit ti dice la larghezza è stato auto-calcolato in Excel, ma non dice Excel che si deve calcolare anche la prossima volta che viene aperto.

"goodol" indica in quella discussione, penso che la larghezza può essere calcolato solo quando si visualizza la colonna, dal momento che dipende dal contenuto, il tipo di carattere utilizzato, altri parametri di stile ... Quindi, anche se si vuole pre Calcoli la larghezza da soli, essere consapevoli che questo è solo una stima, e può essere sbagliato se il contenuto contengono un sacco di personaggi "WIDE". Oppure l'Open XML SDK fare questo per voi?

Altri suggerimenti

EPPlus che consiglio vivamente. Mi c'è voluto un po 'per capire come farlo utilizzando tale, ecco quello che mi si avvicinò con:

// Get your worksheet in "sheet" variable

// Set columns to auto-fit
for (int i = 1; i <= sheet.Dimension.Columns; i++)
{
    sheet.Column(i).AutoFit();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top