基于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 = GetBinaryDataStream(spreadsheetPrinterSettingsPart1Data); spreadsheetPrinterSettingsPart1.FeedData(data); data.Close(); } // Generates content of sharedStringTablePart1. private void GenerateSharedStringTablePart1Content(SharedStringTablePart sharedStringTablePart1) { SharedStringTable sharedStringTable1 = new SharedStringTable(){ Count = (UInt32Value)5U, UniqueCount = (UInt32Value)5U }; SharedStringItem sharedStringItem1 = new SharedStringItem(); Text text1 = new Text(); text1.Text = "用户信息列表"; 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 = "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 = DataUtil.GetExcelData(); Dictionary<string, string> mDict = new Dictionary<string, string>(); 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 = new SheetData(); spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.AppendChild(m_SheetData); // create row //spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.First().AppendChild(new Row()); //// create cell with data //spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.First().First().AppendChild(new Cell() { CellValue = new CellValue("100") }); //Add Data Row row1 = new Row() { RowIndex = 1 }; Cell cell1 = new Cell() { CellReference = "A1" }; int index = InsertSharedStringItem("Sun", m_SharedStringTablePart); cell1.CellValue = new CellValue(index.ToString()); cell1.DataType = new EnumValue<CellValues>(CellValues.SharedString); row1.Append(cell1); m_SheetData.Append(row1); // save worksheet spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.Save(); // create the worksheet to workbook relation spreadSheet.WorkbookPart.Workbook.AppendChild(new Sheets()); spreadSheet.WorkbookPart.Workbook.GetFirstChild<Sheets>().AppendChild(new Sheet() { Id = spreadSheet.WorkbookPart.GetIdOfPart(spreadSheet.WorkbookPart.WorksheetParts.First()), SheetId = 1, Name = sheetName }); spreadSheet.WorkbookPart.Workbook.Save(); } } /// <summary> /// 添加数据 /// </summary> /// <param name="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 数据功能的可复用性
本文的源码