/ / OpenXml WorksheetParts.First () non è sempre il primo foglio che mostra MS Excel - c #, openxml, openxml-sdk

OpenXml WorksheetParts.First () non è sempre il primo foglio che mostra MS Excel - c #, openxml, openxml-sdk

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 № 1

Immagino 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.