SpreadsheetXML介绍

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的文件,然后解压看看其中的结构

 借用微软官网的一张图片

posted @ 2021-04-23 15:52  VarForrest  阅读(216)  评论(0编辑  收藏  举报