Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using DocumentFormat.OpenXml.Packaging;
- using DocumentFormat.OpenXml.Spreadsheet;
- namespace ReadXlsx
- {
- class Program
- {
- const string xslPath = @"C:\temp\20190725\test.xlsx";
- static void Main(string[] args)
- {
- SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(xslPath, false);
- WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
- SharedStringTablePart sharedStringTablePart = workbookPart.SharedStringTablePart;
- SharedStringTable sharedStringTable = sharedStringTablePart.SharedStringTable;
- List<SharedStringItem> sharedStringItems = sharedStringTable.Elements<SharedStringItem>().ToList();
- List<Sheet> sheets = workbookPart.Workbook.Sheets.Cast<Sheet>().ToList();
- List<WorksheetPart> worksheetParts = workbookPart.WorksheetParts.ToList();
- List<SheetData> sheetDatas = worksheetParts.SelectMany(x => x.Worksheet.Elements<SheetData>()).ToList();
- foreach (Sheet sheet in sheets)
- {
- Console.WriteLine($"{sheet.Name.Value}: {sheet.Id}");
- string rid = sheet.Id;
- WorksheetPart worksheetPart = workbookPart.GetPartById(rid) as WorksheetPart;
- SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().Single();
- List<Row> rows = sheetData.Elements<Row>().ToList();
- Console.WriteLine($"Row count: {rows.Count}");
- foreach (Row row in rows)
- {
- List<Cell> cells = row.Elements<Cell>().ToList();
- Console.WriteLine($"Cell count: {cells.Count}");
- foreach (Cell cell in cells)
- {
- if (cell.DataType == "s")
- {
- Console.WriteLine(sharedStringItems[int.Parse(cell.CellValue.Text)].Text.Text);
- }
- else
- {
- Console.WriteLine(cell.CellValue.Text);
- }
- }
- Console.WriteLine("=======================================================================================");
- }
- Console.WriteLine("=======================================================================================");
- }
- spreadsheetDocument.Close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement