Ho file XLSX che, se visualizzati in Excelpiù fogli. Tuttavia, alcuni dei file che utilizzano lo snippet qui sotto hanno in realtà WorksheetPart.First come secondo o terzo foglio di lavoro quando visualizzati in Excel. Penso che questo sia dovuto al fatto che i fogli sono stati riorganizzati in Excel in un punto.
D: Come utilizzare OpenXml per leggere i fogli nell'ordine "view" in cui MS-Excel li mostra, rispetto a ciò che può essere fuori uso tramite OpenXml? Nota: non riesco a utilizzare il nome del foglio come soluzione alternativa.
using (var document = SpreadsheetDocument.Open(".test.xlsx", false))
{
var workbookPart = document.WorkbookPart;
var worksheetPart = workbookPart.WorksheetParts.First();
// worksheetPart is not always the first worksheet that Excel shows
}
risposte:
3 per risposta № 1Immagino che le parti del foglio di lavoro non siano necessariamente in ordine. Ciò che dovrebbe essere in ordine è però il Workbook.Sheets proprietà (puoi anche cercare per nome qui). Puoi correlare un foglio con il suo foglio di lavoro con il suo ID, Vedere qui per esempio.