SpreadsheetXML主要是用来操作Excel文档的,在Excel文档模型中有sheet、行、列、单元格,还有图表、公司,还有表格中的数据等,所有对应的SpreadsheetXML结构中也是有类似的结构,SpreadsheetXML中包含workbook对象,workbook中包含sheets(sheets就是由sheet对象构成),workbook、sheets、sheet是SpreadsheetXML对象必须要的基本元素,除了这一些基本元素意外,我们还可以包含table、chartsheet、pivitTableDefinition等结构。如下表列出了所有的重要的Spreadsheet的结构
一个最简单的workbook中必须包含一个简单的sheet、一个表示sheet的ID。下面是一个使用Open Xml SDK构造一个最简单的。空的workbook.如下是一个简单的例子,包含一个spreadsheet最基本的元素:
public void CreateSpreadSheetWorkbook(string filepath) { SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, DocumentFormat.OpenXml.SpreadsheetDocumentType.Workbook); WorkbookPart workpart = spreadsheetDocument.AddWorkbookPart(); workpart.Workbook = new Workbook(); WorksheetPart worksheetPart = workpart.AddNewPart<WorksheetPart>(); worksheetPart.Worksheet = new Worksheet(new SheetData()); Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets()); Sheet sheet = new Sheet() { Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" }; sheets.Append(sheet); workpart.Workbook.Save(); spreadsheetDocument.Close(); }
我们可以使用将生成的.xlsx文件重命名为.zip的文件,然后解压看看其中的结构
借用微软官网的一张图片