OpenXML:C#读取Excel文档

Excel的文档,本身就是一个压缩包,使用压缩工具打开一个excel文件,可以看到里边的文件列表如下图:
OpenXML:C#读取Excel文档_第1张图片
OpenXML:C#读取Excel文档_第2张图片
里边的文件主要就是一些xml文件和其他的素材
OpenXML是微软官方一个开源的操作Word、Excel和PPT的SDK,用C#进行开发,使用此类库可以方便的对office这三类主要文档进行操作,而且还不用安装Office程序。
下边列举一下,如何使用OpenXML读取一个Excel文档中的内容:
首先,使用nuget安装OpenXML的类库引用,也可以从网上直接下载类库进行引用;
在这里插入图片描述
添加命名空间

 using DocumentFormat.OpenXml.Packaging;
 using DocumentFormat.OpenXml.Spreadsheet;
// 使用代码打开一个Excel文档
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open("文件路径", false))
{
WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
//选择Excel的sheet页,和Excel中的实际顺序对应
WorksheetPart worksheetPart = workbookPart.WorksheetParts.ElementAt(1);
//sheet页中的内容
SheetData _Sheet1data = worksheetPart.Worksheet.Elements().First();
//有些Excel中的标题等中英文内容会放在SharedStringTable中
var _sharepart = workbookPart.SharedStringTablePart;
//循环Excel表中的行数据
 foreach (Row r in _Sheet1data.Elements())
 { 
 //行数据中的每个Cell中数据
foreach (Cell c in r.Elements())
{
string text = c.CellValue.Text;
//判断是不是在SharedStringTable中
if (c.DataType != null)
{
var _xmlpart = _sharepart.SharedStringTable.ElementAt(Convert.ToInt32(c.CellValue.Text));
text = _xmlpart.FirstChild.InnerText;
} 
//最终获得text数据
}
}

OpenXML:C#读取Excel文档_第3张图片

你可能感兴趣的:(业务)