首页 > 代码库 > 基于Open XML 导出数据到Excel

基于Open XML 导出数据到Excel

数据导出的结果:

 

步骤1、新建一个Excel 文档,模板根据自己需要设置

技术分享

步骤2、使用OpenXml  打开Excel 文件

技术分享

步骤3、点击ReflectCode 功能,生成相应的代码文档

using DocumentFormat.OpenXml.Packaging;using Ap = DocumentFormat.OpenXml.ExtendedProperties;using Vt = DocumentFormat.OpenXml.VariantTypes;using DocumentFormat.OpenXml;using DocumentFormat.OpenXml.Spreadsheet;using X14 = DocumentFormat.OpenXml.Office2010.Excel;using A = DocumentFormat.OpenXml.Drawing;namespace GeneratedCode{    public class GeneratedClass    {        // Creates a SpreadsheetDocument.        public void CreatePackage(string filePath)        {            using(SpreadsheetDocument package = SpreadsheetDocument.Create(filePath, SpreadsheetDocumentType.Workbook))            {                CreateParts(package);            }        }        // Adds child parts and generates content of the specified part.        private void CreateParts(SpreadsheetDocument document)        {            ExtendedFilePropertiesPart extendedFilePropertiesPart1 = document.AddNewPart<ExtendedFilePropertiesPart>("rId3");            GenerateExtendedFilePropertiesPart1Content(extendedFilePropertiesPart1);            WorkbookPart workbookPart1 = document.AddWorkbookPart();            GenerateWorkbookPart1Content(workbookPart1);            WorksheetPart worksheetPart1 = workbookPart1.AddNewPart<WorksheetPart>("rId3");            GenerateWorksheetPart1Content(worksheetPart1);            WorksheetPart worksheetPart2 = workbookPart1.AddNewPart<WorksheetPart>("rId2");            GenerateWorksheetPart2Content(worksheetPart2);            WorksheetPart worksheetPart3 = workbookPart1.AddNewPart<WorksheetPart>("rId1");            GenerateWorksheetPart3Content(worksheetPart3);            SpreadsheetPrinterSettingsPart spreadsheetPrinterSettingsPart1 = worksheetPart3.AddNewPart<SpreadsheetPrinterSettingsPart>("rId1");            GenerateSpreadsheetPrinterSettingsPart1Content(spreadsheetPrinterSettingsPart1);            SharedStringTablePart sharedStringTablePart1 = workbookPart1.AddNewPart<SharedStringTablePart>("rId6");            GenerateSharedStringTablePart1Content(sharedStringTablePart1);            WorkbookStylesPart workbookStylesPart1 = workbookPart1.AddNewPart<WorkbookStylesPart>("rId5");            GenerateWorkbookStylesPart1Content(workbookStylesPart1);            ThemePart themePart1 = workbookPart1.AddNewPart<ThemePart>("rId4");            GenerateThemePart1Content(themePart1);            SetPackageProperties(document);        }        // Generates content of extendedFilePropertiesPart1.        private void GenerateExtendedFilePropertiesPart1Content(ExtendedFilePropertiesPart extendedFilePropertiesPart1)        {            Ap.Properties properties1 = new Ap.Properties();            properties1.AddNamespaceDeclaration("vt", "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes");            Ap.Application application1 = new Ap.Application();            application1.Text = "Microsoft Excel";            Ap.DocumentSecurity documentSecurity1 = new Ap.DocumentSecurity();            documentSecurity1.Text = "0";            Ap.ScaleCrop scaleCrop1 = new Ap.ScaleCrop();            scaleCrop1.Text = "false";            Ap.HeadingPairs headingPairs1 = new Ap.HeadingPairs();            Vt.VTVector vTVector1 = new Vt.VTVector(){ BaseType = Vt.VectorBaseValues.Variant, Size = (UInt32Value)2U };            Vt.Variant variant1 = new Vt.Variant();            Vt.VTLPSTR vTLPSTR1 = new Vt.VTLPSTR();            vTLPSTR1.Text = "工作表";            variant1.Append(vTLPSTR1);            Vt.Variant variant2 = new Vt.Variant();            Vt.VTInt32 vTInt321 = new Vt.VTInt32();            vTInt321.Text = "3";            variant2.Append(vTInt321);            vTVector1.Append(variant1);            vTVector1.Append(variant2);            headingPairs1.Append(vTVector1);            Ap.TitlesOfParts titlesOfParts1 = new Ap.TitlesOfParts();            Vt.VTVector vTVector2 = new Vt.VTVector(){ BaseType = Vt.VectorBaseValues.Lpstr, Size = (UInt32Value)3U };            Vt.VTLPSTR vTLPSTR2 = new Vt.VTLPSTR();            vTLPSTR2.Text = "Sheet1";            Vt.VTLPSTR vTLPSTR3 = new Vt.VTLPSTR();            vTLPSTR3.Text = "Sheet2";            Vt.VTLPSTR vTLPSTR4 = new Vt.VTLPSTR();            vTLPSTR4.Text = "Sheet3";            vTVector2.Append(vTLPSTR2);            vTVector2.Append(vTLPSTR3);            vTVector2.Append(vTLPSTR4);            titlesOfParts1.Append(vTVector2);            Ap.LinksUpToDate linksUpToDate1 = new Ap.LinksUpToDate();            linksUpToDate1.Text = "false";            Ap.SharedDocument sharedDocument1 = new Ap.SharedDocument();            sharedDocument1.Text = "false";            Ap.HyperlinksChanged hyperlinksChanged1 = new Ap.HyperlinksChanged();            hyperlinksChanged1.Text = "false";            Ap.ApplicationVersion applicationVersion1 = new Ap.ApplicationVersion();            applicationVersion1.Text = "14.0300";            properties1.Append(application1);            properties1.Append(documentSecurity1);            properties1.Append(scaleCrop1);            properties1.Append(headingPairs1);            properties1.Append(titlesOfParts1);            properties1.Append(linksUpToDate1);            properties1.Append(sharedDocument1);            properties1.Append(hyperlinksChanged1);            properties1.Append(applicationVersion1);            extendedFilePropertiesPart1.Properties = properties1;        }        // Generates content of workbookPart1.        private void GenerateWorkbookPart1Content(WorkbookPart workbookPart1)        {            Workbook workbook1 = new Workbook();            workbook1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");            FileVersion fileVersion1 = new FileVersion(){ ApplicationName = "xl", LastEdited = "5", LowestEdited = "5", BuildVersion = "9302" };            WorkbookProperties workbookProperties1 = new WorkbookProperties(){ DefaultThemeVersion = (UInt32Value)124226U };            BookViews bookViews1 = new BookViews();            WorkbookView workbookView1 = new WorkbookView(){ XWindow = 600, YWindow = 75, WindowWidth = (UInt32Value)19395U, WindowHeight = (UInt32Value)7605U };            bookViews1.Append(workbookView1);            Sheets sheets1 = new Sheets();            Sheet sheet1 = new Sheet(){ Name = "Sheet1", SheetId = (UInt32Value)1U, Id = "rId1" };            Sheet sheet2 = new Sheet(){ Name = "Sheet2", SheetId = (UInt32Value)2U, Id = "rId2" };            Sheet sheet3 = new Sheet(){ Name = "Sheet3", SheetId = (UInt32Value)3U, Id = "rId3" };            sheets1.Append(sheet1);            sheets1.Append(sheet2);            sheets1.Append(sheet3);            CalculationProperties calculationProperties1 = new CalculationProperties(){ CalculationId = (UInt32Value)144525U };            workbook1.Append(fileVersion1);            workbook1.Append(workbookProperties1);            workbook1.Append(bookViews1);            workbook1.Append(sheets1);            workbook1.Append(calculationProperties1);            workbookPart1.Workbook = workbook1;        }        // Generates content of worksheetPart1.        private void GenerateWorksheetPart1Content(WorksheetPart worksheetPart1)        {            Worksheet worksheet1 = new Worksheet(){ MCAttributes = new MarkupCompatibilityAttributes(){ Ignorable = "x14ac" }  };            worksheet1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");            worksheet1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");            worksheet1.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");            SheetDimension sheetDimension1 = new SheetDimension(){ Reference = "A1" };            SheetViews sheetViews1 = new SheetViews();            SheetView sheetView1 = new SheetView(){ WorkbookViewId = (UInt32Value)0U };            sheetViews1.Append(sheetView1);            SheetFormatProperties sheetFormatProperties1 = new SheetFormatProperties(){ DefaultRowHeight = 13.5D, DyDescent = 0.15D };            SheetData sheetData1 = new SheetData();            PhoneticProperties phoneticProperties1 = new PhoneticProperties(){ FontId = (UInt32Value)1U, Type = PhoneticValues.NoConversion };            PageMargins pageMargins1 = new PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };            worksheet1.Append(sheetDimension1);            worksheet1.Append(sheetViews1);            worksheet1.Append(sheetFormatProperties1);            worksheet1.Append(sheetData1);            worksheet1.Append(phoneticProperties1);            worksheet1.Append(pageMargins1);            worksheetPart1.Worksheet = worksheet1;        }

 

  // Generates content of worksheetPart2.        private void GenerateWorksheetPart2Content(WorksheetPart worksheetPart2)        {            Worksheet worksheet2 = new Worksheet(){ MCAttributes = new MarkupCompatibilityAttributes(){ Ignorable = "x14ac" }  };            worksheet2.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");            worksheet2.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");            worksheet2.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");            SheetDimension sheetDimension2 = new SheetDimension(){ Reference = "A1" };            SheetViews sheetViews2 = new SheetViews();            SheetView sheetView2 = new SheetView(){ WorkbookViewId = (UInt32Value)0U };            sheetViews2.Append(sheetView2);            SheetFormatProperties sheetFormatProperties2 = new SheetFormatProperties(){ DefaultRowHeight = 13.5D, DyDescent = 0.15D };            SheetData sheetData2 = new SheetData();            PhoneticProperties phoneticProperties2 = new PhoneticProperties(){ FontId = (UInt32Value)1U, Type = PhoneticValues.NoConversion };            PageMargins pageMargins2 = new PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };            worksheet2.Append(sheetDimension2);            worksheet2.Append(sheetViews2);            worksheet2.Append(sheetFormatProperties2);            worksheet2.Append(sheetData2);            worksheet2.Append(phoneticProperties2);            worksheet2.Append(pageMargins2);            worksheetPart2.Worksheet = worksheet2;        }        // Generates content of worksheetPart3.        private void GenerateWorksheetPart3Content(WorksheetPart worksheetPart3)        {            Worksheet worksheet3 = new Worksheet(){ MCAttributes = new MarkupCompatibilityAttributes(){ Ignorable = "x14ac" }  };            worksheet3.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");            worksheet3.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");            worksheet3.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");            SheetDimension sheetDimension3 = new SheetDimension(){ Reference = "A1:D23" };            SheetViews sheetViews3 = new SheetViews();            SheetView sheetView3 = new SheetView(){ TabSelected = true, WorkbookViewId = (UInt32Value)0U };            Selection selection1 = new Selection(){ ActiveCell = "D10", SequenceOfReferences = new ListValue<StringValue>() { InnerText = "D10" } };            sheetView3.Append(selection1);            sheetViews3.Append(sheetView3);            SheetFormatProperties sheetFormatProperties3 = new SheetFormatProperties(){ DefaultRowHeight = 13.5D, DyDescent = 0.15D };            Columns columns1 = new Columns();            Column column1 = new Column(){ Min = (UInt32Value)1U, Max = (UInt32Value)1U, Width = 25.25D, CustomWidth = true };            Column column2 = new Column(){ Min = (UInt32Value)2U, Max = (UInt32Value)2U, Width = 35D, CustomWidth = true };            Column column3 = new Column(){ Min = (UInt32Value)3U, Max = (UInt32Value)3U, Width = 20.125D, CustomWidth = true };            Column column4 = new Column(){ Min = (UInt32Value)4U, Max = (UInt32Value)4U, Width = 58.125D, CustomWidth = true };            columns1.Append(column1);            columns1.Append(column2);            columns1.Append(column3);            columns1.Append(column4);            SheetData sheetData3 = new SheetData();            Row row1 = new Row(){ RowIndex = (UInt32Value)1U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 24D, CustomHeight = true, DyDescent = 0.15D };            Cell cell1 = new Cell(){ CellReference = "A1", StyleIndex = (UInt32Value)2U, DataType = CellValues.SharedString };            CellValue cellValue1 = new CellValue();            cellValue1.Text = "0";            cell1.Append(cellValue1);            Cell cell2 = new Cell(){ CellReference = "B1", StyleIndex = (UInt32Value)2U };            Cell cell3 = new Cell(){ CellReference = "C1", StyleIndex = (UInt32Value)2U };            Cell cell4 = new Cell(){ CellReference = "D1", StyleIndex = (UInt32Value)2U };            row1.Append(cell1);            row1.Append(cell2);            row1.Append(cell3);            row1.Append(cell4);            Row row2 = new Row(){ RowIndex = (UInt32Value)2U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Cell cell5 = new Cell(){ CellReference = "A2", StyleIndex = (UInt32Value)1U, DataType = CellValues.SharedString };            CellValue cellValue2 = new CellValue();            cellValue2.Text = "1";            cell5.Append(cellValue2);            Cell cell6 = new Cell(){ CellReference = "B2", StyleIndex = (UInt32Value)1U, DataType = CellValues.SharedString };            CellValue cellValue3 = new CellValue();            cellValue3.Text = "2";            cell6.Append(cellValue3);            Cell cell7 = new Cell(){ CellReference = "C2", StyleIndex = (UInt32Value)1U, DataType = CellValues.SharedString };            CellValue cellValue4 = new CellValue();            cellValue4.Text = "3";            cell7.Append(cellValue4);            Cell cell8 = new Cell(){ CellReference = "D2", StyleIndex = (UInt32Value)1U, DataType = CellValues.SharedString };            CellValue cellValue5 = new CellValue();            cellValue5.Text = "4";            cell8.Append(cellValue5);            row2.Append(cell5);            row2.Append(cell6);            row2.Append(cell7);            row2.Append(cell8);            Row row3 = new Row(){ RowIndex = (UInt32Value)3U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row4 = new Row(){ RowIndex = (UInt32Value)4U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row5 = new Row(){ RowIndex = (UInt32Value)6U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row6 = new Row(){ RowIndex = (UInt32Value)8U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row7 = new Row(){ RowIndex = (UInt32Value)11U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row8 = new Row(){ RowIndex = (UInt32Value)12U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row9 = new Row(){ RowIndex = (UInt32Value)13U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row10 = new Row(){ RowIndex = (UInt32Value)14U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row11 = new Row(){ RowIndex = (UInt32Value)15U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row12 = new Row(){ RowIndex = (UInt32Value)16U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 15.75D, DyDescent = 0.15D };            Row row13 = new Row(){ RowIndex = (UInt32Value)18U, Height = 15.75D, DyDescent = 0.15D };            Row row14 = new Row(){ RowIndex = (UInt32Value)19U, Height = 15.75D, DyDescent = 0.15D };            Row row15 = new Row(){ RowIndex = (UInt32Value)20U, Height = 15.75D, DyDescent = 0.15D };            Row row16 = new Row(){ RowIndex = (UInt32Value)21U, Height = 15.75D, DyDescent = 0.15D };            Row row17 = new Row(){ RowIndex = (UInt32Value)22U, Height = 15.75D, DyDescent = 0.15D };            Row row18 = new Row(){ RowIndex = (UInt32Value)23U, Height = 15.75D, DyDescent = 0.15D };            sheetData3.Append(row1);            sheetData3.Append(row2);            sheetData3.Append(row3);            sheetData3.Append(row4);            sheetData3.Append(row5);            sheetData3.Append(row6);            sheetData3.Append(row7);            sheetData3.Append(row8);            sheetData3.Append(row9);            sheetData3.Append(row10);            sheetData3.Append(row11);            sheetData3.Append(row12);            sheetData3.Append(row13);            sheetData3.Append(row14);            sheetData3.Append(row15);            sheetData3.Append(row16);            sheetData3.Append(row17);            sheetData3.Append(row18);            MergeCells mergeCells1 = new MergeCells(){ Count = (UInt32Value)1U };            MergeCell mergeCell1 = new MergeCell(){ Reference = "A1:D1" };            mergeCells1.Append(mergeCell1);            PhoneticProperties phoneticProperties3 = new PhoneticProperties(){ FontId = (UInt32Value)1U, Type = PhoneticValues.NoConversion };            PageMargins pageMargins3 = new PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };            PageSetup pageSetup1 = new PageSetup(){ PaperSize = (UInt32Value)9U, Orientation = OrientationValues.Portrait, Id = "rId1" };            worksheet3.Append(sheetDimension3);            worksheet3.Append(sheetViews3);            worksheet3.Append(sheetFormatProperties3);            worksheet3.Append(columns1);            worksheet3.Append(sheetData3);            worksheet3.Append(mergeCells1);            worksheet3.Append(phoneticProperties3);            worksheet3.Append(pageMargins3);            worksheet3.Append(pageSetup1);            worksheetPart3.Worksheet = worksheet3;        }        // Generates content of spreadsheetPrinterSettingsPart1.        private void GenerateSpreadsheetPrinterSettingsPart1Content(SpreadsheetPrinterSettingsPart spreadsheetPrinterSettingsPart1)        {            System.IO.Stream data = http://www.mamicode.com/GetBinaryDataStream(spreadsheetPrinterSettingsPart1Data);"用户信息列表";            sharedStringItem1.Append(text1);            SharedStringItem sharedStringItem2 = new SharedStringItem();            Text text2 = new Text();            text2.Text = "用户编号";            sharedStringItem2.Append(text2);            SharedStringItem sharedStringItem3 = new SharedStringItem();            Text text3 = new Text();            text3.Text = "公司名称";            sharedStringItem3.Append(text3);            SharedStringItem sharedStringItem4 = new SharedStringItem();            Text text4 = new Text();            text4.Text = "联系标题";            sharedStringItem4.Append(text4);            SharedStringItem sharedStringItem5 = new SharedStringItem();            Text text5 = new Text();            text5.Text = "联系人名称";            sharedStringItem5.Append(text5);            sharedStringTable1.Append(sharedStringItem1);            sharedStringTable1.Append(sharedStringItem2);            sharedStringTable1.Append(sharedStringItem3);            sharedStringTable1.Append(sharedStringItem4);            sharedStringTable1.Append(sharedStringItem5);            sharedStringTablePart1.SharedStringTable = sharedStringTable1;        }        // Generates content of workbookStylesPart1.        private void GenerateWorkbookStylesPart1Content(WorkbookStylesPart workbookStylesPart1)        {            Stylesheet stylesheet1 = new Stylesheet(){ MCAttributes = new MarkupCompatibilityAttributes(){ Ignorable = "x14ac" }  };            stylesheet1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");            stylesheet1.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");            Fonts fonts1 = new Fonts(){ Count = (UInt32Value)4U, KnownFonts = true };            Font font1 = new Font();            FontSize fontSize1 = new FontSize(){ Val = 11D };            Color color1 = new Color(){ Theme = (UInt32Value)1U };            FontName fontName1 = new FontName(){ Val = "宋体" };            FontFamilyNumbering fontFamilyNumbering1 = new FontFamilyNumbering(){ Val = 2 };            FontCharSet fontCharSet1 = new FontCharSet(){ Val = 134 };            FontScheme fontScheme1 = new FontScheme(){ Val = FontSchemeValues.Minor };            font1.Append(fontSize1);            font1.Append(color1);            font1.Append(fontName1);            font1.Append(fontFamilyNumbering1);            font1.Append(fontCharSet1);            font1.Append(fontScheme1);            Font font2 = new Font();            FontSize fontSize2 = new FontSize(){ Val = 9D };            FontName fontName2 = new FontName(){ Val = "宋体" };            FontFamilyNumbering fontFamilyNumbering2 = new FontFamilyNumbering(){ Val = 2 };            FontCharSet fontCharSet2 = new FontCharSet(){ Val = 134 };            FontScheme fontScheme2 = new FontScheme(){ Val = FontSchemeValues.Minor };            font2.Append(fontSize2);            font2.Append(fontName2);            font2.Append(fontFamilyNumbering2);            font2.Append(fontCharSet2);            font2.Append(fontScheme2);            Font font3 = new Font();            Bold bold1 = new Bold();            FontSize fontSize3 = new FontSize(){ Val = 16D };            Color color2 = new Color(){ Theme = (UInt32Value)1U };            FontName fontName3 = new FontName(){ Val = "宋体" };            FontFamilyNumbering fontFamilyNumbering3 = new FontFamilyNumbering(){ Val = 3 };            FontCharSet fontCharSet3 = new FontCharSet(){ Val = 134 };            FontScheme fontScheme3 = new FontScheme(){ Val = FontSchemeValues.Minor };            font3.Append(bold1);            font3.Append(fontSize3);            font3.Append(color2);            font3.Append(fontName3);            font3.Append(fontFamilyNumbering3);            font3.Append(fontCharSet3);            font3.Append(fontScheme3);            Font font4 = new Font();            FontSize fontSize4 = new FontSize(){ Val = 11D };            Color color3 = new Color(){ Theme = (UInt32Value)1U };            FontName fontName4 = new FontName(){ Val = "华文中宋" };            FontFamilyNumbering fontFamilyNumbering4 = new FontFamilyNumbering(){ Val = 3 };            FontCharSet fontCharSet4 = new FontCharSet(){ Val = 134 };            font4.Append(fontSize4);            font4.Append(color3);            font4.Append(fontName4);            font4.Append(fontFamilyNumbering4);            font4.Append(fontCharSet4);            fonts1.Append(font1);            fonts1.Append(font2);            fonts1.Append(font3);            fonts1.Append(font4);            Fills fills1 = new Fills(){ Count = (UInt32Value)2U };            Fill fill1 = new Fill();            PatternFill patternFill1 = new PatternFill(){ PatternType = PatternValues.None };            fill1.Append(patternFill1);            Fill fill2 = new Fill();            PatternFill patternFill2 = new PatternFill(){ PatternType = PatternValues.Gray125 };            fill2.Append(patternFill2);            fills1.Append(fill1);            fills1.Append(fill2);            Borders borders1 = new Borders(){ Count = (UInt32Value)1U };            Border border1 = new Border();            LeftBorder leftBorder1 = new LeftBorder();            RightBorder rightBorder1 = new RightBorder();            TopBorder topBorder1 = new TopBorder();            BottomBorder bottomBorder1 = new BottomBorder();            DiagonalBorder diagonalBorder1 = new DiagonalBorder();            border1.Append(leftBorder1);            border1.Append(rightBorder1);            border1.Append(topBorder1);            border1.Append(bottomBorder1);            border1.Append(diagonalBorder1);            borders1.Append(border1);            CellStyleFormats cellStyleFormats1 = new CellStyleFormats(){ Count = (UInt32Value)1U };            CellFormat cellFormat1 = new CellFormat(){ NumberFormatId = (UInt32Value)0U, FontId = (UInt32Value)0U, FillId = (UInt32Value)0U, BorderId = (UInt32Value)0U };            Alignment alignment1 = new Alignment(){ Vertical = VerticalAlignmentValues.Center };            cellFormat1.Append(alignment1);            cellStyleFormats1.Append(cellFormat1);            CellFormats cellFormats1 = new CellFormats(){ Count = (UInt32Value)3U };            CellFormat cellFormat2 = new CellFormat(){ NumberFormatId = (UInt32Value)0U, FontId = (UInt32Value)0U, FillId = (UInt32Value)0U, BorderId = (UInt32Value)0U, FormatId = (UInt32Value)0U };            Alignment alignment2 = new Alignment(){ Vertical = VerticalAlignmentValues.Center };            cellFormat2.Append(alignment2);            CellFormat cellFormat3 = new CellFormat(){ NumberFormatId = (UInt32Value)0U, FontId = (UInt32Value)3U, FillId = (UInt32Value)0U, BorderId = (UInt32Value)0U, FormatId = (UInt32Value)0U, ApplyFont = true };            Alignment alignment3 = new Alignment(){ Vertical = VerticalAlignmentValues.Center };            cellFormat3.Append(alignment3);            CellFormat cellFormat4 = new CellFormat(){ NumberFormatId = (UInt32Value)0U, FontId = (UInt32Value)2U, FillId = (UInt32Value)0U, BorderId = (UInt32Value)0U, FormatId = (UInt32Value)0U, ApplyFont = true, ApplyAlignment = true };            Alignment alignment4 = new Alignment(){ Horizontal = HorizontalAlignmentValues.Center, Vertical = VerticalAlignmentValues.Center };            cellFormat4.Append(alignment4);            cellFormats1.Append(cellFormat2);            cellFormats1.Append(cellFormat3);            cellFormats1.Append(cellFormat4);            CellStyles cellStyles1 = new CellStyles(){ Count = (UInt32Value)1U };            CellStyle cellStyle1 = new CellStyle(){ Name = "常规", FormatId = (UInt32Value)0U, BuiltinId = (UInt32Value)0U };            cellStyles1.Append(cellStyle1);            DifferentialFormats differentialFormats1 = new DifferentialFormats(){ Count = (UInt32Value)0U };            TableStyles tableStyles1 = new TableStyles(){ Count = (UInt32Value)0U, DefaultTableStyle = "TableStyleMedium2", DefaultPivotStyle = "PivotStyleLight16" };            StylesheetExtensionList stylesheetExtensionList1 = new StylesheetExtensionList();            StylesheetExtension stylesheetExtension1 = new StylesheetExtension(){ Uri = "{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" };            stylesheetExtension1.AddNamespaceDeclaration("x14", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main");            X14.SlicerStyles slicerStyles1 = new X14.SlicerStyles(){ DefaultSlicerStyle = "SlicerStyleLight1" };            stylesheetExtension1.Append(slicerStyles1);            stylesheetExtensionList1.Append(stylesheetExtension1);            stylesheet1.Append(fonts1);            stylesheet1.Append(fills1);            stylesheet1.Append(borders1);            stylesheet1.Append(cellStyleFormats1);            stylesheet1.Append(cellFormats1);            stylesheet1.Append(cellStyles1);            stylesheet1.Append(differentialFormats1);            stylesheet1.Append(tableStyles1);            stylesheet1.Append(stylesheetExtensionList1);            workbookStylesPart1.Stylesheet = stylesheet1;        }

 

  // Generates content of themePart1.        private void GenerateThemePart1Content(ThemePart themePart1)        {            A.Theme theme1 = new A.Theme(){ Name = "Office 主题??" };            theme1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");            A.ThemeElements themeElements1 = new A.ThemeElements();            A.ColorScheme colorScheme1 = new A.ColorScheme(){ Name = "Office" };            A.Dark1Color dark1Color1 = new A.Dark1Color();            A.SystemColor systemColor1 = new A.SystemColor(){ Val = A.SystemColorValues.WindowText, LastColor = "000000" };            dark1Color1.Append(systemColor1);            A.Light1Color light1Color1 = new A.Light1Color();            A.SystemColor systemColor2 = new A.SystemColor(){ Val = A.SystemColorValues.Window, LastColor = "FFFFFF" };            light1Color1.Append(systemColor2);            A.Dark2Color dark2Color1 = new A.Dark2Color();            A.RgbColorModelHex rgbColorModelHex1 = new A.RgbColorModelHex(){ Val = "1F497D" };            dark2Color1.Append(rgbColorModelHex1);            A.Light2Color light2Color1 = new A.Light2Color();            A.RgbColorModelHex rgbColorModelHex2 = new A.RgbColorModelHex(){ Val = "EEECE1" };            light2Color1.Append(rgbColorModelHex2);            A.Accent1Color accent1Color1 = new A.Accent1Color();            A.RgbColorModelHex rgbColorModelHex3 = new A.RgbColorModelHex(){ Val = "4F81BD" };            accent1Color1.Append(rgbColorModelHex3);            A.Accent2Color accent2Color1 = new A.Accent2Color();            A.RgbColorModelHex rgbColorModelHex4 = new A.RgbColorModelHex(){ Val = "C0504D" };            accent2Color1.Append(rgbColorModelHex4);            A.Accent3Color accent3Color1 = new A.Accent3Color();            A.RgbColorModelHex rgbColorModelHex5 = new A.RgbColorModelHex(){ Val = "9BBB59" };            accent3Color1.Append(rgbColorModelHex5);            A.Accent4Color accent4Color1 = new A.Accent4Color();            A.RgbColorModelHex rgbColorModelHex6 = new A.RgbColorModelHex(){ Val = "8064A2" };            accent4Color1.Append(rgbColorModelHex6);            A.Accent5Color accent5Color1 = new A.Accent5Color();            A.RgbColorModelHex rgbColorModelHex7 = new A.RgbColorModelHex(){ Val = "4BACC6" };            accent5Color1.Append(rgbColorModelHex7);            A.Accent6Color accent6Color1 = new A.Accent6Color();            A.RgbColorModelHex rgbColorModelHex8 = new A.RgbColorModelHex(){ Val = "F79646" };            accent6Color1.Append(rgbColorModelHex8);            A.Hyperlink hyperlink1 = new A.Hyperlink();            A.RgbColorModelHex rgbColorModelHex9 = new A.RgbColorModelHex(){ Val = "0000FF" };            hyperlink1.Append(rgbColorModelHex9);            A.FollowedHyperlinkColor followedHyperlinkColor1 = new A.FollowedHyperlinkColor();            A.RgbColorModelHex rgbColorModelHex10 = new A.RgbColorModelHex(){ Val = "800080" };            followedHyperlinkColor1.Append(rgbColorModelHex10);            colorScheme1.Append(dark1Color1);            colorScheme1.Append(light1Color1);            colorScheme1.Append(dark2Color1);            colorScheme1.Append(light2Color1);            colorScheme1.Append(accent1Color1);            colorScheme1.Append(accent2Color1);            colorScheme1.Append(accent3Color1);            colorScheme1.Append(accent4Color1);            colorScheme1.Append(accent5Color1);            colorScheme1.Append(accent6Color1);            colorScheme1.Append(hyperlink1);            colorScheme1.Append(followedHyperlinkColor1);            A.FontScheme fontScheme4 = new A.FontScheme(){ Name = "Office" };            A.MajorFont majorFont1 = new A.MajorFont();            A.LatinFont latinFont1 = new A.LatinFont(){ Typeface = "Cambria" };            A.EastAsianFont eastAsianFont1 = new A.EastAsianFont(){ Typeface = "" };            A.ComplexScriptFont complexScriptFont1 = new A.ComplexScriptFont(){ Typeface = "" };            A.SupplementalFont supplementalFont1 = new A.SupplementalFont(){ Script = "Jpan", Typeface = "MS Pゴシック" };            A.SupplementalFont supplementalFont2 = new A.SupplementalFont(){ Script = "Hang", Typeface = "?? ??" };            A.SupplementalFont supplementalFont3 = new A.SupplementalFont(){ Script = "Hans", Typeface = "宋体" };            A.SupplementalFont supplementalFont4 = new A.SupplementalFont(){ Script = "Hant", Typeface = "新細明體" };            A.SupplementalFont supplementalFont5 = new A.SupplementalFont(){ Script = "Arab", Typeface = "Times New Roman" };            A.SupplementalFont supplementalFont6 = new A.SupplementalFont(){ Script = "Hebr", Typeface = "Times New Roman" };            A.SupplementalFont supplementalFont7 = new A.SupplementalFont(){ Script = "Thai", Typeface = "Tahoma" };            A.SupplementalFont supplementalFont8 = new A.SupplementalFont(){ Script = "Ethi", Typeface = "Nyala" };            A.SupplementalFont supplementalFont9 = new A.SupplementalFont(){ Script = "Beng", Typeface = "Vrinda" };            A.SupplementalFont supplementalFont10 = new A.SupplementalFont(){ Script = "Gujr", Typeface = "Shruti" };            A.SupplementalFont supplementalFont11 = new A.SupplementalFont(){ Script = "Khmr", Typeface = "MoolBoran" };            A.SupplementalFont supplementalFont12 = new A.SupplementalFont(){ Script = "Knda", Typeface = "Tunga" };            A.SupplementalFont supplementalFont13 = new A.SupplementalFont(){ Script = "Guru", Typeface = "Raavi" };            A.SupplementalFont supplementalFont14 = new A.SupplementalFont(){ Script = "Cans", Typeface = "Euphemia" };            A.SupplementalFont supplementalFont15 = new A.SupplementalFont(){ Script = "Cher", Typeface = "Plantagenet Cherokee" };            A.SupplementalFont supplementalFont16 = new A.SupplementalFont(){ Script = "Yiii", Typeface = "Microsoft Yi Baiti" };            A.SupplementalFont supplementalFont17 = new A.SupplementalFont(){ Script = "Tibt", Typeface = "Microsoft Himalaya" };            A.SupplementalFont supplementalFont18 = new A.SupplementalFont(){ Script = "Thaa", Typeface = "MV Boli" };            A.SupplementalFont supplementalFont19 = new A.SupplementalFont(){ Script = "Deva", Typeface = "Mangal" };            A.SupplementalFont supplementalFont20 = new A.SupplementalFont(){ Script = "Telu", Typeface = "Gautami" };            A.SupplementalFont supplementalFont21 = new A.SupplementalFont(){ Script = "Taml", Typeface = "Latha" };            A.SupplementalFont supplementalFont22 = new A.SupplementalFont(){ Script = "Syrc", Typeface = "Estrangelo Edessa" };            A.SupplementalFont supplementalFont23 = new A.SupplementalFont(){ Script = "Orya", Typeface = "Kalinga" };            A.SupplementalFont supplementalFont24 = new A.SupplementalFont(){ Script = "Mlym", Typeface = "Kartika" };            A.SupplementalFont supplementalFont25 = new A.SupplementalFont(){ Script = "Laoo", Typeface = "DokChampa" };            A.SupplementalFont supplementalFont26 = new A.SupplementalFont(){ Script = "Sinh", Typeface = "Iskoola Pota" };            A.SupplementalFont supplementalFont27 = new A.SupplementalFont(){ Script = "Mong", Typeface = "Mongolian Baiti" };            A.SupplementalFont supplementalFont28 = new A.SupplementalFont(){ Script = "Viet", Typeface = "Times New Roman" };            A.SupplementalFont supplementalFont29 = new A.SupplementalFont(){ Script = "Uigh", Typeface = "Microsoft Uighur" };            A.SupplementalFont supplementalFont30 = new A.SupplementalFont(){ Script = "Geor", Typeface = "Sylfaen" };            majorFont1.Append(latinFont1);            majorFont1.Append(eastAsianFont1);            majorFont1.Append(complexScriptFont1);            majorFont1.Append(supplementalFont1);            majorFont1.Append(supplementalFont2);            majorFont1.Append(supplementalFont3);            majorFont1.Append(supplementalFont4);            majorFont1.Append(supplementalFont5);            majorFont1.Append(supplementalFont6);            majorFont1.Append(supplementalFont7);            majorFont1.Append(supplementalFont8);            majorFont1.Append(supplementalFont9);            majorFont1.Append(supplementalFont10);            majorFont1.Append(supplementalFont11);            majorFont1.Append(supplementalFont12);            majorFont1.Append(supplementalFont13);            majorFont1.Append(supplementalFont14);            majorFont1.Append(supplementalFont15);            majorFont1.Append(supplementalFont16);            majorFont1.Append(supplementalFont17);            majorFont1.Append(supplementalFont18);            majorFont1.Append(supplementalFont19);            majorFont1.Append(supplementalFont20);            majorFont1.Append(supplementalFont21);            majorFont1.Append(supplementalFont22);            majorFont1.Append(supplementalFont23);            majorFont1.Append(supplementalFont24);            majorFont1.Append(supplementalFont25);            majorFont1.Append(supplementalFont26);            majorFont1.Append(supplementalFont27);            majorFont1.Append(supplementalFont28);            majorFont1.Append(supplementalFont29);            majorFont1.Append(supplementalFont30);            A.MinorFont minorFont1 = new A.MinorFont();            A.LatinFont latinFont2 = new A.LatinFont(){ Typeface = "Calibri" };            A.EastAsianFont eastAsianFont2 = new A.EastAsianFont(){ Typeface = "" };            A.ComplexScriptFont complexScriptFont2 = new A.ComplexScriptFont(){ Typeface = "" };            A.SupplementalFont supplementalFont31 = new A.SupplementalFont(){ Script = "Jpan", Typeface = "MS Pゴシック" };            A.SupplementalFont supplementalFont32 = new A.SupplementalFont(){ Script = "Hang", Typeface = "?? ??" };            A.SupplementalFont supplementalFont33 = new A.SupplementalFont(){ Script = "Hans", Typeface = "宋体" };            A.SupplementalFont supplementalFont34 = new A.SupplementalFont(){ Script = "Hant", Typeface = "新細明體" };            A.SupplementalFont supplementalFont35 = new A.SupplementalFont(){ Script = "Arab", Typeface = "Arial" };            A.SupplementalFont supplementalFont36 = new A.SupplementalFont(){ Script = "Hebr", Typeface = "Arial" };            A.SupplementalFont supplementalFont37 = new A.SupplementalFont(){ Script = "Thai", Typeface = "Tahoma" };            A.SupplementalFont supplementalFont38 = new A.SupplementalFont(){ Script = "Ethi", Typeface = "Nyala" };            A.SupplementalFont supplementalFont39 = new A.SupplementalFont(){ Script = "Beng", Typeface = "Vrinda" };            A.SupplementalFont supplementalFont40 = new A.SupplementalFont(){ Script = "Gujr", Typeface = "Shruti" };            A.SupplementalFont supplementalFont41 = new A.SupplementalFont(){ Script = "Khmr", Typeface = "DaunPenh" };            A.SupplementalFont supplementalFont42 = new A.SupplementalFont(){ Script = "Knda", Typeface = "Tunga" };            A.SupplementalFont supplementalFont43 = new A.SupplementalFont(){ Script = "Guru", Typeface = "Raavi" };            A.SupplementalFont supplementalFont44 = new A.SupplementalFont(){ Script = "Cans", Typeface = "Euphemia" };            A.SupplementalFont supplementalFont45 = new A.SupplementalFont(){ Script = "Cher", Typeface = "Plantagenet Cherokee" };            A.SupplementalFont supplementalFont46 = new A.SupplementalFont(){ Script = "Yiii", Typeface = "Microsoft Yi Baiti" };            A.SupplementalFont supplementalFont47 = new A.SupplementalFont(){ Script = "Tibt", Typeface = "Microsoft Himalaya" };            A.SupplementalFont supplementalFont48 = new A.SupplementalFont(){ Script = "Thaa", Typeface = "MV Boli" };            A.SupplementalFont supplementalFont49 = new A.SupplementalFont(){ Script = "Deva", Typeface = "Mangal" };            A.SupplementalFont supplementalFont50 = new A.SupplementalFont(){ Script = "Telu", Typeface = "Gautami" };            A.SupplementalFont supplementalFont51 = new A.SupplementalFont(){ Script = "Taml", Typeface = "Latha" };            A.SupplementalFont supplementalFont52 = new A.SupplementalFont(){ Script = "Syrc", Typeface = "Estrangelo Edessa" };            A.SupplementalFont supplementalFont53 = new A.SupplementalFont(){ Script = "Orya", Typeface = "Kalinga" };            A.SupplementalFont supplementalFont54 = new A.SupplementalFont(){ Script = "Mlym", Typeface = "Kartika" };            A.SupplementalFont supplementalFont55 = new A.SupplementalFont(){ Script = "Laoo", Typeface = "DokChampa" };            A.SupplementalFont supplementalFont56 = new A.SupplementalFont(){ Script = "Sinh", Typeface = "Iskoola Pota" };            A.SupplementalFont supplementalFont57 = new A.SupplementalFont(){ Script = "Mong", Typeface = "Mongolian Baiti" };            A.SupplementalFont supplementalFont58 = new A.SupplementalFont(){ Script = "Viet", Typeface = "Arial" };            A.SupplementalFont supplementalFont59 = new A.SupplementalFont(){ Script = "Uigh", Typeface = "Microsoft Uighur" };            A.SupplementalFont supplementalFont60 = new A.SupplementalFont(){ Script = "Geor", Typeface = "Sylfaen" };            minorFont1.Append(latinFont2);            minorFont1.Append(eastAsianFont2);            minorFont1.Append(complexScriptFont2);            minorFont1.Append(supplementalFont31);            minorFont1.Append(supplementalFont32);            minorFont1.Append(supplementalFont33);            minorFont1.Append(supplementalFont34);            minorFont1.Append(supplementalFont35);            minorFont1.Append(supplementalFont36);            minorFont1.Append(supplementalFont37);            minorFont1.Append(supplementalFont38);            minorFont1.Append(supplementalFont39);            minorFont1.Append(supplementalFont40);            minorFont1.Append(supplementalFont41);            minorFont1.Append(supplementalFont42);            minorFont1.Append(supplementalFont43);            minorFont1.Append(supplementalFont44);            minorFont1.Append(supplementalFont45);            minorFont1.Append(supplementalFont46);            minorFont1.Append(supplementalFont47);            minorFont1.Append(supplementalFont48);            minorFont1.Append(supplementalFont49);            minorFont1.Append(supplementalFont50);            minorFont1.Append(supplementalFont51);            minorFont1.Append(supplementalFont52);            minorFont1.Append(supplementalFont53);            minorFont1.Append(supplementalFont54);            minorFont1.Append(supplementalFont55);            minorFont1.Append(supplementalFont56);            minorFont1.Append(supplementalFont57);            minorFont1.Append(supplementalFont58);            minorFont1.Append(supplementalFont59);            minorFont1.Append(supplementalFont60);            fontScheme4.Append(majorFont1);            fontScheme4.Append(minorFont1);            A.FormatScheme formatScheme1 = new A.FormatScheme(){ Name = "Office" };            A.FillStyleList fillStyleList1 = new A.FillStyleList();            A.SolidFill solidFill1 = new A.SolidFill();            A.SchemeColor schemeColor1 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            solidFill1.Append(schemeColor1);            A.GradientFill gradientFill1 = new A.GradientFill(){ RotateWithShape = true };            A.GradientStopList gradientStopList1 = new A.GradientStopList();            A.GradientStop gradientStop1 = new A.GradientStop(){ Position = 0 };            A.SchemeColor schemeColor2 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Tint tint1 = new A.Tint(){ Val = 50000 };            A.SaturationModulation saturationModulation1 = new A.SaturationModulation(){ Val = 300000 };            schemeColor2.Append(tint1);            schemeColor2.Append(saturationModulation1);            gradientStop1.Append(schemeColor2);            A.GradientStop gradientStop2 = new A.GradientStop(){ Position = 35000 };            A.SchemeColor schemeColor3 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Tint tint2 = new A.Tint(){ Val = 37000 };            A.SaturationModulation saturationModulation2 = new A.SaturationModulation(){ Val = 300000 };            schemeColor3.Append(tint2);            schemeColor3.Append(saturationModulation2);            gradientStop2.Append(schemeColor3);            A.GradientStop gradientStop3 = new A.GradientStop(){ Position = 100000 };            A.SchemeColor schemeColor4 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Tint tint3 = new A.Tint(){ Val = 15000 };            A.SaturationModulation saturationModulation3 = new A.SaturationModulation(){ Val = 350000 };            schemeColor4.Append(tint3);            schemeColor4.Append(saturationModulation3);            gradientStop3.Append(schemeColor4);            gradientStopList1.Append(gradientStop1);            gradientStopList1.Append(gradientStop2);            gradientStopList1.Append(gradientStop3);            A.LinearGradientFill linearGradientFill1 = new A.LinearGradientFill(){ Angle = 16200000, Scaled = true };            gradientFill1.Append(gradientStopList1);            gradientFill1.Append(linearGradientFill1);            A.GradientFill gradientFill2 = new A.GradientFill(){ RotateWithShape = true };            A.GradientStopList gradientStopList2 = new A.GradientStopList();            A.GradientStop gradientStop4 = new A.GradientStop(){ Position = 0 };            A.SchemeColor schemeColor5 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Shade shade1 = new A.Shade(){ Val = 51000 };            A.SaturationModulation saturationModulation4 = new A.SaturationModulation(){ Val = 130000 };            schemeColor5.Append(shade1);            schemeColor5.Append(saturationModulation4);            gradientStop4.Append(schemeColor5);            A.GradientStop gradientStop5 = new A.GradientStop(){ Position = 80000 };            A.SchemeColor schemeColor6 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Shade shade2 = new A.Shade(){ Val = 93000 };            A.SaturationModulation saturationModulation5 = new A.SaturationModulation(){ Val = 130000 };            schemeColor6.Append(shade2);            schemeColor6.Append(saturationModulation5);            gradientStop5.Append(schemeColor6);            A.GradientStop gradientStop6 = new A.GradientStop(){ Position = 100000 };            A.SchemeColor schemeColor7 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Shade shade3 = new A.Shade(){ Val = 94000 };            A.SaturationModulation saturationModulation6 = new A.SaturationModulation(){ Val = 135000 };            schemeColor7.Append(shade3);            schemeColor7.Append(saturationModulation6);            gradientStop6.Append(schemeColor7);            gradientStopList2.Append(gradientStop4);            gradientStopList2.Append(gradientStop5);            gradientStopList2.Append(gradientStop6);            A.LinearGradientFill linearGradientFill2 = new A.LinearGradientFill(){ Angle = 16200000, Scaled = false };            gradientFill2.Append(gradientStopList2);            gradientFill2.Append(linearGradientFill2);            fillStyleList1.Append(solidFill1);            fillStyleList1.Append(gradientFill1);            fillStyleList1.Append(gradientFill2);            A.LineStyleList lineStyleList1 = new A.LineStyleList();            A.Outline outline1 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };            A.SolidFill solidFill2 = new A.SolidFill();            A.SchemeColor schemeColor8 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Shade shade4 = new A.Shade(){ Val = 95000 };            A.SaturationModulation saturationModulation7 = new A.SaturationModulation(){ Val = 105000 };            schemeColor8.Append(shade4);            schemeColor8.Append(saturationModulation7);            solidFill2.Append(schemeColor8);            A.PresetDash presetDash1 = new A.PresetDash(){ Val = A.PresetLineDashValues.Solid };            outline1.Append(solidFill2);            outline1.Append(presetDash1);            A.Outline outline2 = new A.Outline(){ Width = 25400, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };            A.SolidFill solidFill3 = new A.SolidFill();            A.SchemeColor schemeColor9 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            solidFill3.Append(schemeColor9);            A.PresetDash presetDash2 = new A.PresetDash(){ Val = A.PresetLineDashValues.Solid };            outline2.Append(solidFill3);            outline2.Append(presetDash2);            A.Outline outline3 = new A.Outline(){ Width = 38100, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };            A.SolidFill solidFill4 = new A.SolidFill();            A.SchemeColor schemeColor10 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            solidFill4.Append(schemeColor10);            A.PresetDash presetDash3 = new A.PresetDash(){ Val = A.PresetLineDashValues.Solid };            outline3.Append(solidFill4);            outline3.Append(presetDash3);            lineStyleList1.Append(outline1);            lineStyleList1.Append(outline2);            lineStyleList1.Append(outline3);            A.EffectStyleList effectStyleList1 = new A.EffectStyleList();            A.EffectStyle effectStyle1 = new A.EffectStyle();            A.EffectList effectList1 = new A.EffectList();            A.OuterShadow outerShadow1 = new A.OuterShadow(){ BlurRadius = 40000L, Distance = 20000L, Direction = 5400000, RotateWithShape = false };            A.RgbColorModelHex rgbColorModelHex11 = new A.RgbColorModelHex(){ Val = "000000" };            A.Alpha alpha1 = new A.Alpha(){ Val = 38000 };            rgbColorModelHex11.Append(alpha1);            outerShadow1.Append(rgbColorModelHex11);            effectList1.Append(outerShadow1);            effectStyle1.Append(effectList1);            A.EffectStyle effectStyle2 = new A.EffectStyle();            A.EffectList effectList2 = new A.EffectList();            A.OuterShadow outerShadow2 = new A.OuterShadow(){ BlurRadius = 40000L, Distance = 23000L, Direction = 5400000, RotateWithShape = false };            A.RgbColorModelHex rgbColorModelHex12 = new A.RgbColorModelHex(){ Val = "000000" };            A.Alpha alpha2 = new A.Alpha(){ Val = 35000 };            rgbColorModelHex12.Append(alpha2);            outerShadow2.Append(rgbColorModelHex12);            effectList2.Append(outerShadow2);            effectStyle2.Append(effectList2);            A.EffectStyle effectStyle3 = new A.EffectStyle();            A.EffectList effectList3 = new A.EffectList();            A.OuterShadow outerShadow3 = new A.OuterShadow(){ BlurRadius = 40000L, Distance = 23000L, Direction = 5400000, RotateWithShape = false };            A.RgbColorModelHex rgbColorModelHex13 = new A.RgbColorModelHex(){ Val = "000000" };            A.Alpha alpha3 = new A.Alpha(){ Val = 35000 };            rgbColorModelHex13.Append(alpha3);            outerShadow3.Append(rgbColorModelHex13);            effectList3.Append(outerShadow3);            A.Scene3DType scene3DType1 = new A.Scene3DType();            A.Camera camera1 = new A.Camera(){ Preset = A.PresetCameraValues.OrthographicFront };            A.Rotation rotation1 = new A.Rotation(){ Latitude = 0, Longitude = 0, Revolution = 0 };            camera1.Append(rotation1);            A.LightRig lightRig1 = new A.LightRig(){ Rig = A.LightRigValues.ThreePoints, Direction = A.LightRigDirectionValues.Top };            A.Rotation rotation2 = new A.Rotation(){ Latitude = 0, Longitude = 0, Revolution = 1200000 };            lightRig1.Append(rotation2);            scene3DType1.Append(camera1);            scene3DType1.Append(lightRig1);            A.Shape3DType shape3DType1 = new A.Shape3DType();            A.BevelTop bevelTop1 = new A.BevelTop(){ Width = 63500L, Height = 25400L };            shape3DType1.Append(bevelTop1);            effectStyle3.Append(effectList3);            effectStyle3.Append(scene3DType1);            effectStyle3.Append(shape3DType1);            effectStyleList1.Append(effectStyle1);            effectStyleList1.Append(effectStyle2);            effectStyleList1.Append(effectStyle3);            A.BackgroundFillStyleList backgroundFillStyleList1 = new A.BackgroundFillStyleList();            A.SolidFill solidFill5 = new A.SolidFill();            A.SchemeColor schemeColor11 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            solidFill5.Append(schemeColor11);            A.GradientFill gradientFill3 = new A.GradientFill(){ RotateWithShape = true };            A.GradientStopList gradientStopList3 = new A.GradientStopList();            A.GradientStop gradientStop7 = new A.GradientStop(){ Position = 0 };            A.SchemeColor schemeColor12 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Tint tint4 = new A.Tint(){ Val = 40000 };            A.SaturationModulation saturationModulation8 = new A.SaturationModulation(){ Val = 350000 };            schemeColor12.Append(tint4);            schemeColor12.Append(saturationModulation8);            gradientStop7.Append(schemeColor12);            A.GradientStop gradientStop8 = new A.GradientStop(){ Position = 40000 };            A.SchemeColor schemeColor13 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Tint tint5 = new A.Tint(){ Val = 45000 };            A.Shade shade5 = new A.Shade(){ Val = 99000 };            A.SaturationModulation saturationModulation9 = new A.SaturationModulation(){ Val = 350000 };            schemeColor13.Append(tint5);            schemeColor13.Append(shade5);            schemeColor13.Append(saturationModulation9);            gradientStop8.Append(schemeColor13);            A.GradientStop gradientStop9 = new A.GradientStop(){ Position = 100000 };            A.SchemeColor schemeColor14 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Shade shade6 = new A.Shade(){ Val = 20000 };            A.SaturationModulation saturationModulation10 = new A.SaturationModulation(){ Val = 255000 };            schemeColor14.Append(shade6);            schemeColor14.Append(saturationModulation10);            gradientStop9.Append(schemeColor14);            gradientStopList3.Append(gradientStop7);            gradientStopList3.Append(gradientStop8);            gradientStopList3.Append(gradientStop9);            A.PathGradientFill pathGradientFill1 = new A.PathGradientFill(){ Path = A.PathShadeValues.Circle };            A.FillToRectangle fillToRectangle1 = new A.FillToRectangle(){ Left = 50000, Top = -80000, Right = 50000, Bottom = 180000 };            pathGradientFill1.Append(fillToRectangle1);            gradientFill3.Append(gradientStopList3);            gradientFill3.Append(pathGradientFill1);            A.GradientFill gradientFill4 = new A.GradientFill(){ RotateWithShape = true };            A.GradientStopList gradientStopList4 = new A.GradientStopList();            A.GradientStop gradientStop10 = new A.GradientStop(){ Position = 0 };            A.SchemeColor schemeColor15 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Tint tint6 = new A.Tint(){ Val = 80000 };            A.SaturationModulation saturationModulation11 = new A.SaturationModulation(){ Val = 300000 };            schemeColor15.Append(tint6);            schemeColor15.Append(saturationModulation11);            gradientStop10.Append(schemeColor15);            A.GradientStop gradientStop11 = new A.GradientStop(){ Position = 100000 };            A.SchemeColor schemeColor16 = new A.SchemeColor(){ Val = A.SchemeColorValues.PhColor };            A.Shade shade7 = new A.Shade(){ Val = 30000 };            A.SaturationModulation saturationModulation12 = new A.SaturationModulation(){ Val = 200000 };            schemeColor16.Append(shade7);            schemeColor16.Append(saturationModulation12);            gradientStop11.Append(schemeColor16);            gradientStopList4.Append(gradientStop10);            gradientStopList4.Append(gradientStop11);            A.PathGradientFill pathGradientFill2 = new A.PathGradientFill(){ Path = A.PathShadeValues.Circle };            A.FillToRectangle fillToRectangle2 = new A.FillToRectangle(){ Left = 50000, Top = 50000, Right = 50000, Bottom = 50000 };            pathGradientFill2.Append(fillToRectangle2);            gradientFill4.Append(gradientStopList4);            gradientFill4.Append(pathGradientFill2);            backgroundFillStyleList1.Append(solidFill5);            backgroundFillStyleList1.Append(gradientFill3);            backgroundFillStyleList1.Append(gradientFill4);            formatScheme1.Append(fillStyleList1);            formatScheme1.Append(lineStyleList1);            formatScheme1.Append(effectStyleList1);            formatScheme1.Append(backgroundFillStyleList1);            themeElements1.Append(colorScheme1);            themeElements1.Append(fontScheme4);            themeElements1.Append(formatScheme1);            A.ObjectDefaults objectDefaults1 = new A.ObjectDefaults();            A.ExtraColorSchemeList extraColorSchemeList1 = new A.ExtraColorSchemeList();            theme1.Append(themeElements1);            theme1.Append(objectDefaults1);            theme1.Append(extraColorSchemeList1);            themePart1.Theme = theme1;        }
    private void SetPackageProperties(OpenXmlPackage document)        {            document.PackageProperties.Creator = "Jim Tian";            document.PackageProperties.Created = System.Xml.XmlConvert.ToDateTime("2015-01-27T07:53:29Z", System.Xml.XmlDateTimeSerializationMode.RoundtripKind);            document.PackageProperties.Modified = System.Xml.XmlConvert.ToDateTime("2015-01-30T03:14:23Z", System.Xml.XmlDateTimeSerializationMode.RoundtripKind);            document.PackageProperties.LastModifiedBy = "Jim Tian";        }        #region Binary Data        private string spreadsheetPrinterSettingsPart1Data = "http://www.mamicode.com/XABcADEAOQAyAC4AMQA2ADgALgAzADAALgAyADIAMABcAEIAdQBpAGwAZABpAG4AZwAgAEEAIABJAFQAAAAAAAEEAAbcAPg0Q++ABwEACQCaCzQIZAABAA8AWAICAAEAWAIDAAEAQQA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAgAAABQBAAD/////==";        private System.IO.Stream GetBinaryDataStream(string base64String)        {            return new System.IO.MemoryStream(System.Convert.FromBase64String(base64String));        }        #endregion    }}
 

步骤4、新建一个控制台应用程序,调用上述代码,生成自己新建的Excel

    class Program    {        static void Main(string[] args)        {            string currentPath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;            string filePath = Path.Combine(currentPath, "GeneratedPerson" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx");            GeneratedExcel54(filePath);        }            public static void GeneratedExcel(string filePath)        {            GeneratedClass gExcel = new GeneratedClass();            gExcel.CreatePackage(filePath);        }            }

步骤5、动态添加自己的数据

5.1 、修改函数(目标是为了添加数据, 所以移动了这个sharedStringTablePart 的位置,其次为了调用sharedStringTablePart 给GenerateWorksheetPart3Content 函数增加了参数, 便于添加数据

 
        // Adds child parts and generates content of the specified part.        private void CreateParts(SpreadsheetDocument document)        {            ExtendedFilePropertiesPart extendedFilePropertiesPart1 = document.AddNewPart<ExtendedFilePropertiesPart>("rId3");            GenerateExtendedFilePropertiesPart1Content(extendedFilePropertiesPart1);            WorkbookPart workbookPart1 = document.AddWorkbookPart();            GenerateWorkbookPart1Content(workbookPart1);

SharedStringTablePart shareStringPart = workbookPart1.AddNewPart<SharedStringTablePart>("rId6"); // GenerateSharedStringTablePart1Content(shareStringPart);

            WorksheetPart worksheetPart1 = workbookPart1.AddNewPart<WorksheetPart>("rId3");            GenerateWorksheetPart1Content(worksheetPart1);            WorksheetPart worksheetPart2 = workbookPart1.AddNewPart<WorksheetPart>("rId2");            GenerateWorksheetPart2Content(worksheetPart2);            WorksheetPart worksheetPart3 = workbookPart1.AddNewPart<WorksheetPart>("rId1");            

GenerateWorksheetPart3Content(worksheetPart3, shareStringPart);

            SpreadsheetPrinterSettingsPart spreadsheetPrinterSettingsPart1 = worksheetPart3.AddNewPart<SpreadsheetPrinterSettingsPart>("rId1");            GenerateSpreadsheetPrinterSettingsPart1Content(spreadsheetPrinterSettingsPart1);            WorkbookStylesPart workbookStylesPart1 = workbookPart1.AddNewPart<WorkbookStylesPart>("rId5");            GenerateWorkbookStylesPart1Content(workbookStylesPart1);            ThemePart themePart1 = workbookPart1.AddNewPart<ThemePart>("rId4");            GenerateThemePart1Content(themePart1);            SetPackageProperties(document);        }
 

5.2 、动态添加数据

  // Generates content of worksheetPart3.        private void GenerateWorksheetPart3Content(WorksheetPart worksheetPart3, SharedStringTablePart shareStringPart)        {            Worksheet worksheet3 = new Worksheet() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "x14ac" } };            worksheet3.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");            worksheet3.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");            worksheet3.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");            SheetDimension sheetDimension3 = new SheetDimension() { Reference = "A1:D2" };            SheetViews sheetViews3 = new SheetViews();            SheetView sheetView3 = new SheetView() { TabSelected = true, WorkbookViewId = (UInt32Value)0U };            Selection selection1 = new Selection() { ActiveCell = "A2", SequenceOfReferences = new ListValue<StringValue>() { InnerText = "A2:D2" } };            sheetView3.Append(selection1);            sheetViews3.Append(sheetView3);            SheetFormatProperties sheetFormatProperties3 = new SheetFormatProperties() { DefaultRowHeight = 13.5D, DyDescent = 0.15D };            Columns columns1 = new Columns();            Column column1 = new Column() { Min = (UInt32Value)1U, Max = (UInt32Value)1U, Width = 25.25D, CustomWidth = true };            Column column2 = new Column() { Min = (UInt32Value)2U, Max = (UInt32Value)2U, Width = 35D, CustomWidth = true };            Column column3 = new Column() { Min = (UInt32Value)3U, Max = (UInt32Value)3U, Width = 20.125D, CustomWidth = true };            Column column4 = new Column() { Min = (UInt32Value)4U, Max = (UInt32Value)4U, Width = 100.75D, CustomWidth = true };            columns1.Append(column1);            columns1.Append(column2);            columns1.Append(column3);            columns1.Append(column4);            SheetData sheetData3 = new SheetData();            Row row1 = new Row() { RowIndex = (UInt32Value)1U, Spans = new ListValue<StringValue>() { InnerText = "1:4" }, Height = 24D, CustomHeight = true, DyDescent = 0.15D };            //Cell cell1 = new Cell(){ CellReference = "A1", StyleIndex = (UInt32Value)1U, DataType = CellValues.SharedString };            //CellValue cellValue1 = new CellValue();            //cellValue1.Text = "0";            Cell cell1 = CreateCell("用户信息列表", shareStringPart);            cell1.StyleIndex = (UInt32Value)1U;            Cell cell2 = new Cell() { CellReference = "B1", StyleIndex = (UInt32Value)1U };            Cell cell3 = new Cell() { CellReference = "C1", StyleIndex = (UInt32Value)1U };            Cell cell4 = new Cell() { CellReference = "D1", StyleIndex = (UInt32Value)1U };            row1.Append(cell1);            row1.Append(cell2);            row1.Append(cell3);            row1.Append(cell4);            sheetData3.Append(row1);            #region 添加数据        

ExcelDataUtil dataUtil = new ExcelDataUtil(); dataUtil.ExcelData = http://www.mamicode.com/DataUtil.GetExcelData(); Dictionary mDict = new Dictionary(); mDict.Add("CustomerID", "用户编号"); mDict.Add("CompanyName", "公司名称"); mDict.Add("ContactTitle", "联系标题"); mDict.Add("ContactName", "联系人名称"); dataUtil.HeaderDict = mDict; AddDataToSheet(dataUtil, shareStringPart, sheetData3);

            #endregion            MergeCells mergeCells1 = new MergeCells() { Count = (UInt32Value)1U };            MergeCell mergeCell1 = new MergeCell() { Reference = "A1:D1" };            mergeCells1.Append(mergeCell1);            PhoneticProperties phoneticProperties3 = new PhoneticProperties() { FontId = (UInt32Value)1U, Type = PhoneticValues.NoConversion };            PageMargins pageMargins3 = new PageMargins() { Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };            PageSetup pageSetup1 = new PageSetup() { PaperSize = (UInt32Value)9U, Orientation = OrientationValues.Portrait, Id = "rId1" };            worksheet3.Append(sheetDimension3);            worksheet3.Append(sheetViews3);            worksheet3.Append(sheetFormatProperties3);            worksheet3.Append(columns1);            worksheet3.Append(sheetData3);            worksheet3.Append(mergeCells1);            worksheet3.Append(phoneticProperties3);            worksheet3.Append(pageMargins3);            worksheet3.Append(pageSetup1);            worksheetPart3.Worksheet = worksheet3;        }
 

5.3 、为添加数据,需要提供AddDataToSheet(dataUtil, shareStringPart, sheetData3) 函数的实现即可

    public class ExcelHelper    {        /// <summary>        /// 创建Excel示例        /// </summary>        /// <param name="fileName">Excel 文件名称</param>        public  void CreateSpreadSheet(string fileName)        {            string sheetName = "test";            using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook))            {                // create the workbook                  spreadSheet.AddWorkbookPart();                spreadSheet.WorkbookPart.Workbook = new Workbook();     // create the worksheet                  spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();                spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet = new Worksheet();                SharedStringTablePart m_SharedStringTablePart = spreadSheet.WorkbookPart.AddNewPart<SharedStringTablePart>();                // create sheet data                  SheetData m_SheetData = http://www.mamicode.com/new SheetData();"100") });                //Add Data                Row row1 = new Row() { RowIndex = 1 };                Cell cell1 = new Cell() { CellReference = "A1" };                int index = InsertSharedStringItem("Sun", m_SharedStringTablePart);                cell1.CellValue = http://www.mamicode.com/new CellValue(index.ToString());"text"></param>        /// <param name="shareStringPart"></param>        /// <returns></returns>        protected  int InsertSharedStringItem(string text, SharedStringTablePart shareStringPart)        {            // If the part does not contain a SharedStringTable, create one.            if (shareStringPart.SharedStringTable == null)            {                shareStringPart.SharedStringTable = new SharedStringTable();                shareStringPart.SharedStringTable.Count = 1;                shareStringPart.SharedStringTable.UniqueCount = 1;            }            // SharedStringTable is contained in this part, you can add one.            shareStringPart.SharedStringTable.Count += 1;            int i = 0;            // Iterate through all the items in the SharedStringTable. If the text already exists, return its index.            foreach (SharedStringItem item in shareStringPart.SharedStringTable.Elements<SharedStringItem>())            {                if (item.InnerText == text)                {                    return i;                }                i++;            }            // The text does not exist in the part. Create the SharedStringItem and return its index.            shareStringPart.SharedStringTable.AppendChild(new SharedStringItem(new DocumentFormat.OpenXml.Spreadsheet.Text(text)));                       //PhoneticProperties phoneticProperties = new PhoneticProperties() { FontId = (UInt32Value)1U, Type = PhoneticValues.NoConversion };            //shareStringPart.SharedStringTable.AppendChild(phoneticProperties);            shareStringPart.SharedStringTable.UniqueCount += 1;            shareStringPart.SharedStringTable.Save();            return i;        }        protected Cell CreateCell(string txtContent, SharedStringTablePart shareStringPart, UInt32Value styleIndex = null )        {            Cell mCell = new Cell();            mCell.StyleIndex = styleIndex;            int index = InsertSharedStringItem(txtContent, shareStringPart);            CellValue mCellVal = new CellValue(index.ToString());            mCell.DataType = new EnumValue<CellValues>(CellValues.SharedString);            mCell.Append(mCellVal);            return mCell;        }        /// <summary>        /// 添加数据到Excel 中        /// </summary>        /// <param name="dt"></param>        /// <param name="mHeaderDict"></param>        /// <param name="sheetData"></param>        protected void AddDataToSheet(ExcelDataUtil excelUtil, SharedStringTablePart shareStringPart, SheetData sheetData)        {            if(excelUtil.ExcelData != null && excelUtil.HeaderDict != null)            {                UInt32Value startRowNo = 2;                  if(excelUtil.HeaderDict.Count > 0)                {                    // 添加列头信息                    Row rowHeader = new Row() { RowIndex = startRowNo, Spans = new ListValue<StringValue>() { InnerText =string.Format("1:{0}", excelUtil.HeaderDict.Count) /*"1:4"*/ }, Height = 15.75D, DyDescent = 0.15D };                    foreach(var item in excelUtil.HeaderDict)                    {                        Cell mCell = CreateCell(item.Value, shareStringPart, (UInt32Value)2U);                        rowHeader.Append(mCell);                    }                       sheetData.Append(rowHeader);                    startRowNo++;                }                foreach (DataRow dr in excelUtil.ExcelData.Rows)                {                                   Row rowContent = new Row() { RowIndex = startRowNo, Spans = new ListValue<StringValue>() { InnerText =string.Format("1:{0}", excelUtil.HeaderDict.Count) /*"1:4"*/ }, Height = 15.75D, DyDescent = 0.15D };                    foreach (var item in excelUtil.HeaderDict)                    {                        Cell mCell = CreateCell(dr[item.Key].ToString(), shareStringPart, (UInt32Value)0U);                        rowContent.Append(mCell);                    }                    sheetData.Append(rowContent);                    startRowNo++;                }            }                    }           }
 
   5.4、 可以让生成的GeneratedClass 继承ExcelHelper类,实现添加Excel 数据功能的可复用性
 
本文的源码

基于Open XML 导出数据到Excel