private void SheetDataSet(SheetData sheetData1, string reference, Worksheet worksheet1)
        {
            var sheetDimension1 = new SheetDimension()
            {
                Reference = reference
            };
            var sheetViews1 = new SheetViews();
            var sheetView1  = new SheetView()
            {
                TabSelected = true, WorkbookViewId = 0
            };
            var sheetFormatProperties1 = new SheetFormatProperties {
                DefaultRowHeight = 15D, DyDescent = 0.25D
            };
            var filter = new AutoFilter()
            {
                Reference = reference
            };
            var pageMargins1 = new PageMargins()
            {
                Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D
            };

            sheetViews1.AppendChild(sheetView1);
            worksheet1.AppendChild(sheetDimension1);
            worksheet1.AppendChild(sheetViews1);
            worksheet1.AppendChild(sheetFormatProperties1);
            worksheet1.AppendChild(sheetData1);
            worksheet1.AppendChild(filter);
            worksheet1.AppendChild(pageMargins1);
        }
Пример #2
0
        private void AppendSheetViews(WorksheetPart worksheetPart, bool hasKey)
        {
            SheetViews sheetViews = worksheetPart.Worksheet.AppendChild(new SheetViews());
            SheetView  sheetView  = sheetViews.AppendChild(new SheetView()
            {
                WorkbookViewId = 0U
            });

            Pane pane = new Pane()
            {
                VerticalSplit   = 4D,
                HorizontalSplit = hasKey ? 2D : 1D,
                TopLeftCell     = hasKey ? "C5" : "B5",
                ActivePane      = PaneValues.BottomRight,
                State           = PaneStateValues.Frozen
            };

            sheetView.AppendChild(pane);
        }
        private void AddSheet(SheetContext sheetContext)
        {
            WorkbookPart  workbookPart  = sheetContext.DocumentContext.WorkbookPart;
            WorksheetPart worksheetPart = sheetContext.WorksheetPart;
            uint          sheetCount    = workbookPart.GetSheetCount();

            Worksheet worksheet = new Worksheet()
            {
                MCAttributes = new MarkupCompatibilityAttributes()
                {
                    Ignorable = "x14ac xr xr2 xr3"
                }
            };

            worksheet.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            worksheet.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            worksheet.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");
            worksheet.AddNamespaceDeclaration("xr", "http://schemas.microsoft.com/office/spreadsheetml/2014/revision");
            worksheet.AddNamespaceDeclaration("xr2", "http://schemas.microsoft.com/office/spreadsheetml/2015/revision2");
            worksheet.AddNamespaceDeclaration("xr3", "http://schemas.microsoft.com/office/spreadsheetml/2016/revision3");

            worksheetPart.Worksheet = worksheet;

            SheetViews sheetViews = worksheet.GetOrCreateSheetViews();
            SheetView  sheetView  = new SheetView {
                WorkbookViewId = (UInt32Value)0U
            };

            if (sheetCount == 0)
            {
                sheetView.TabSelected = true;
            }

            sheetViews.AppendChild(sheetView);

            SheetFormatProperties sheetFormatProperties = new SheetFormatProperties
            {
                DefaultRowHeight = 15D,
                DyDescent        = 0.25D,
            };

            ColumnContext CreateColumnContext(IPropertyRenderer renderer) =>
            new ColumnContext(
                sheetContext,
                renderer.GetMetadata <ExcelColumnMetadata>() ?? _defaultColumnMetadata,
                renderer);

            sheetContext.Columns = sheetContext
                                   .ReportProvider
                                   .Renderers
                                   .Select(CreateColumnContext)
                                   .ToList();

            Columns columns = sheetContext.IsNotTransposed ? CreateColumns(sheetContext.Columns) : CreateColumnsTransposed();

            SheetData sheetData = new SheetData();

            //workSheet.Append(sheetDimension);
            worksheet.Append(sheetViews);
            worksheet.Append(sheetFormatProperties);
            if (columns != null)
            {
                worksheet.Append(columns);
            }
            worksheet.Append(sheetData);
            //workSheet.Append(pageMargins);

            // Append a new worksheet and associate it with the workbook.
            Sheets sheets = workbookPart.Workbook.Sheets;
            Sheet  sheet  = new Sheet
            {
                Id      = workbookPart.GetIdOfPart(worksheetPart),
                SheetId = sheetCount + 1,
                Name    = sheetContext.ReportProvider.ReportName,
            };

            sheets.Append(sheet);

            bool freezeTopRow = ExcelMetadata.GetFirstDefinedValue(
                ExcelMetadata.FreezeTopRow,
                sheetContext.SheetMetadata,
                sheetContext.DocumentMetadata);

            if (freezeTopRow)
            {
                worksheet.FreezeTopRow(rowNum: 1);
            }

            sheetContext.SheetData = sheetData;
            sheetContext.Sheet     = sheet;
        }