Как я могу перебирать листы excel в C#
Я пытаюсь зациклиться на листах excel.
Что я уже пробовал:
Это код, который у меня есть до сих пор. Он читает только первый лист.
public byte[] GenerateExcel(SLExcelData data) { var stream = new MemoryStream(); var document = SpreadsheetDocument .Create(stream, SpreadsheetDocumentType.Workbook); var workbookpart = document.AddWorkbookPart(); workbookpart.Workbook = new Workbook(); var worksheetPart = workbookpart.AddNewPart<WorksheetPart>(); var sheetData = new SheetData(); worksheetPart.Worksheet = new Worksheet(sheetData); var sheets = document.WorkbookPart.Workbook. AppendChild<Sheets>(new Sheets()); var sheet = new Sheet() { Id = document.WorkbookPart .GetIdOfPart(worksheetPart), SheetId = 1, Name = data.SheetName ?? "Sheet 1" }; sheets.AppendChild(sheet);
Richard Deeming
Код, который вы показали, создает новую книгу. У него не будет никаких листов, чтобы прокручивать их, если вы их не добавите.
j snooze
Согласитесь с Ричардом. Ваш код добавляет / создает лист и добавляет его в рабочую книгу,этот код вообще не выполняет никакого чтения листа. Я предполагаю, что там есть рабочая тетрадь.свойство worksheets, возвращающее список или какой-либо тип перечисляемых элементов, которые можно перебирать циклом, например foreach(лист листа в рабочей книге.рабочие листы).... попробуйте это.