首页 > 代码库 > OpenXml 2.0 读取Excel
OpenXml 2.0 读取Excel
Excel 单元格中的数据类型包括7种:
Boolean、Date、Error、InlineString、Number、SharedString、String
读取源代码:
1 List<string> returnList = new List<string>(); 2 using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filename, false)) 3 { 4 foreach (Sheet sheet in spreadsheetDocument.WorkbookPart.Workbook.Descendants<Sheet>()) 5 { 6 returnList.Add(sheet.Name); 7 } 8 9 foreach (Sheet sheet in spreadsheetDocument.WorkbookPart.Workbook.Descendants<Sheet>())10 {11 IEnumerable<Sheet> IEnumerableSheet = spreadsheetDocument.WorkbookPart.Workbook.Descendants<Sheet>().Where(s => s.Name == sheet.Name);12 WorksheetPart worksheetPart = (WorksheetPart)spreadsheetDocument.WorkbookPart.GetPartById(IEnumerableSheet.First().Id);13 IEnumerable<Row> rows = worksheetPart.Worksheet.Descendants<Row>();14 SharedStringTable sharedStringTable = spreadsheetDocument.WorkbookPart.SharedStringTablePart.SharedStringTable;15 foreach (Row row in rows)16 {17 foreach (Cell cell in row.Descendants<Cell>())18 {19 if (cell.ChildElements.Count == 0)20 {21 22 }23 else24 {25 if (cell.DataType != null)26 {27 //获取其中共享数据类型28 if (cell.DataType.Value =http://www.mamicode.com/= CellValues.SharedString) 29 {30 string cellValue = http://www.mamicode.com/sharedStringTable.ChildElements[int.Parse(cell.CellValue.InnerText)].InnerText;31 returnList.Add(cellValue);32 }33 }34 }35 36 }37 }38 }39 return returnList;40 }
其中Bool类型数据0会处理为False 1处理成True;
其中最不好处理的数据就是时间Date;
因为工作需要,目前只处理共享数据
OpenXml 2.0 读取Excel
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。