diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/IXLPageSetup.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/IXLPageSetup.cs index 0a518c5..e6dbc9a 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/IXLPageSetup.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/IXLPageSetup.cs @@ -84,10 +84,12 @@ IXLPrintAreas PrintAreas { get; } Int32 FirstRowToRepeatAtTop { get; } Int32 LastRowToRepeatAtTop { get; } + void SetRowsToRepeatAtTop(String range); void SetRowsToRepeatAtTop(Int32 firstRowToRepeatAtTop, Int32 lastRowToRepeatAtTop); Int32 FirstColumnToRepeatAtLeft { get; } Int32 LastColumnToRepeatAtLeft { get; } void SetColumnsToRepeatAtLeft(Int32 firstColumnToRepeatAtLeft, Int32 lastColumnToRepeatAtLeft); + void SetColumnsToRepeatAtLeft(String range); XLPageOrientation PageOrientation { get; set; } Int32 PagesWide { get; set; } Int32 PagesTall { get; set; } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLHeaderFooter.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLHeaderFooter.cs index 626779e..d50ec98 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLHeaderFooter.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLHeaderFooter.cs @@ -19,6 +19,8 @@ public String GetText(XLHFOccurrence occurrence) { + if (innerTexts.ContainsKey(occurrence)) return innerTexts[occurrence]; + var retVal = String.Empty; var leftText = Left.GetText(occurrence); var centerText = Center.GetText(occurrence); @@ -30,5 +32,16 @@ throw new ArgumentOutOfRangeException("Headers and Footers cannot be longer than 255 characters (including style markups)"); return retVal; } + + private Dictionary innerTexts = new Dictionary(); + internal String SetInnerText(XLHFOccurrence occurrence, String text) + { + if (innerTexts.ContainsKey(occurrence)) + innerTexts[occurrence] = text; + else + innerTexts.Add(occurrence, text); + + return innerTexts[occurrence]; + } } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLPageSetup.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLPageSetup.cs index 826bddb..53dbbb4 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLPageSetup.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/PrintOptions/XLPageSetup.cs @@ -56,6 +56,11 @@ public Int32 FirstRowToRepeatAtTop { get; private set; } public Int32 LastRowToRepeatAtTop { get; private set; } + public void SetRowsToRepeatAtTop(String range) + { + var arrRange = range.Replace("$", "").Split(':'); + SetRowsToRepeatAtTop(Int32.Parse(arrRange[0]), Int32.Parse(arrRange[1])); + } public void SetRowsToRepeatAtTop(Int32 firstRowToRepeatAtTop, Int32 lastRowToRepeatAtTop) { if (firstRowToRepeatAtTop <= 0) throw new ArgumentOutOfRangeException("The first row has to be greater than zero."); @@ -66,6 +71,19 @@ } public Int32 FirstColumnToRepeatAtLeft { get; private set; } public Int32 LastColumnToRepeatAtLeft { get; private set; } + public void SetColumnsToRepeatAtLeft(String range) + { + var arrRange = range.Replace("$", "").Split(':'); + Int32 iTest; + if (Int32.TryParse(arrRange[0], out iTest)) + SetColumnsToRepeatAtLeft(Int32.Parse(arrRange[0]), Int32.Parse(arrRange[1])); + else + SetColumnsToRepeatAtLeft(arrRange[0], arrRange[1]); + } + public void SetColumnsToRepeatAtLeft(String firstColumnToRepeatAtLeft, String lastColumnToRepeatAtLeft) + { + SetColumnsToRepeatAtLeft(XLAddress.GetColumnNumberFromLetter(firstColumnToRepeatAtLeft), XLAddress.GetColumnNumberFromLetter(lastColumnToRepeatAtLeft)); + } public void SetColumnsToRepeatAtLeft(Int32 firstColumnToRepeatAtLeft, Int32 lastColumnToRepeatAtLeft) { if (firstColumnToRepeatAtLeft <= 0) throw new ArgumentOutOfRangeException("The first column has to be greater than zero."); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs index f5b5833..5f25012 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs @@ -56,13 +56,33 @@ /// The column letter to translate into a column number. public static Int32 GetColumnNumberFromLetter(String column) { - Int32 intColumnLetterLength = column.Length; - Int32 retVal = 0; - for (Int32 intCount = 0; intCount < intColumnLetterLength; intCount++) + Int32 iTest; + if (Int32.TryParse(column, out iTest)) return iTest; + + column = column.ToUpper(); + + if (column.Length == 1) { - retVal = retVal * 26 + (column.Substring(intCount, 1).ToUpper().ToCharArray()[0] - 64); + return Convert.ToByte(Convert.ToChar(column)) - 64; } - return (Int32)retVal; + else if (column.Length == 2) + { + return + ((Convert.ToByte(column[0]) - 64) * 26) + + (Convert.ToByte(column[1]) - 64); + + } + else if (column.Length == 3) + { + return + ((Convert.ToByte(column[0]) - 64) * 26 * 26) + + ((Convert.ToByte(column[1]) - 64) * 26) + + (Convert.ToByte(column[2]) - 64); + } + else + { + throw new ApplicationException("Column Length must be between 1 and 3."); + } } /// diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs index 6a0cff1..86925d2 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs @@ -37,10 +37,13 @@ sharedStrings = shareStringPart.SharedStringTable.Elements().ToArray(); } - var workbookStylesPart = (WorkbookStylesPart)dSpreadsheet.WorkbookPart.WorkbookStylesPart; - var s = (Stylesheet)workbookStylesPart.Stylesheet; - var numberingFormats = (NumberingFormats)s.NumberingFormats; - Fills fills = (Fills)s.Fills; + var workbookStylesPart = (WorkbookStylesPart)dSpreadsheet.WorkbookPart.WorkbookStylesPart; + var s = (Stylesheet)workbookStylesPart.Stylesheet; + var numberingFormats = (NumberingFormats)s.NumberingFormats; + Fills fills = (Fills)s.Fills; + Borders borders = (Borders)s.Borders; + Fonts fonts = (Fonts)s.Fonts; + //return items[int.Parse(headCell.CellValue.Text)].InnerText; @@ -51,39 +54,56 @@ { var dSheet = ((Sheet)sheet); WorksheetPart worksheetPart = (WorksheetPart)dSpreadsheet.WorkbookPart.GetPartById(dSheet.Id); - - + var sheetName = dSheet.Name; var ws = Worksheets.Add(sheetName); + + foreach (var mCell in worksheetPart.Worksheet.Descendants()) + { + var mergeCell = (MergeCell)mCell; + ws.Range(mergeCell.Reference).Merge(); + } + + foreach (var col in worksheetPart.Worksheet.Descendants()) + { + //var column = (Column)col; + var xlColumns = ws.Columns(col.Min, col.Max); + if (col.Width != null) xlColumns.Width = col.Width; + Int32 styleIndex = col.Style != null ? Int32.Parse(col.Style.InnerText) : -1; + if (styleIndex >= 0) + { + ApplyStyle(xlColumns, styleIndex, s, fills, borders, fonts, numberingFormats); + } + } + + foreach (var row in worksheetPart.Worksheet.Descendants()) + { + //var dRow = (Column)col; + var xlRow = ws.Row(Int32.Parse(row.RowIndex.ToString())); + if (row.Height != null) xlRow.Height = row.Height; + Int32 styleIndex = row.StyleIndex != null ? Int32.Parse(row.StyleIndex.InnerText) : -1; + if (styleIndex >= 0) + { + ApplyStyle(xlRow, styleIndex, s, fills, borders, fonts, numberingFormats); + } + } + foreach (var cell in worksheetPart.Worksheet.Descendants()) { var dCell = (Cell)cell; + Int32 styleIndex = dCell.StyleIndex != null ? Int32.Parse(dCell.StyleIndex.InnerText) : -1; + var xlCell = ws.Cell(dCell.CellReference); + if (styleIndex >= 0) + { + styleIndex = Int32.Parse(dCell.StyleIndex.InnerText); + ApplyStyle(xlCell, styleIndex, s, fills, borders, fonts, numberingFormats); + } + if (dCell.DataType != null) { - var xlCell = ws.Cell(dCell.CellReference); - Int32 styleIndex = dCell.StyleIndex != null ? Int32.Parse(dCell.StyleIndex.InnerText) : -1; - if (styleIndex >= 0) - { - styleIndex = Int32.Parse(dCell.StyleIndex.InnerText); - var fillId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).FillId.Value; - var fill = (Fill)fills.ElementAt(Int32.Parse(fillId.ToString())); - xlCell.Style.Fill.PatternType = fillPatternValues.Single(p => p.Value == fill.PatternFill.PatternType).Key; - xlCell.Style.Fill.PatternColor = System.Drawing.ColorTranslator.FromHtml("#" + fill.PatternFill.ForegroundColor.Rgb.Value); - xlCell.Style.Fill.PatternBackgroundColor = System.Drawing.ColorTranslator.FromHtml("#" + fill.PatternFill.BackgroundColor.Rgb.Value); - - var alignment = (Alignment)((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).Alignment; - xlCell.Style.Alignment.Horizontal = alignmentHorizontalValues.Single(a => a.Value == alignment.Horizontal).Key; - xlCell.Style.Alignment.Indent = Int32.Parse(alignment.Indent.ToString()); - xlCell.Style.Alignment.JustifyLastLine = alignment.JustifyLastLine; - xlCell.Style.Alignment.ReadingOrder = (XLAlignmentReadingOrderValues)Int32.Parse(alignment.ReadingOrder.ToString()); - xlCell.Style.Alignment.RelativeIndent = alignment.RelativeIndent; - xlCell.Style.Alignment.ShrinkToFit = alignment.ShrinkToFit; - xlCell.Style.Alignment.TextRotation = Int32.Parse(alignment.TextRotation.ToString()); - xlCell.Style.Alignment.Vertical = alignmentVerticalValues.Single(a => a.Value == alignment.Vertical).Key; - xlCell.Style.Alignment.WrapText = alignment.WrapText; - } + if (dCell.DataType == CellValues.SharedString) { @@ -104,34 +124,191 @@ { xlCell.DataType = XLCellValues.Number; xlCell.Value = dCell.CellValue.Text; - if (styleIndex >= 0) - { - var numberFormatId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).NumberFormatId; - var numberFormatList = numberingFormats.Where(nf => ((NumberingFormat)nf).NumberFormatId.Value == numberFormatId); - var formatCode = String.Empty; - if (numberFormatList.Count() > 0) - { - NumberingFormat numberingFormat = (NumberingFormat)numberFormatList.First(); - formatCode = numberingFormat.FormatCode.Value; - } - if (formatCode.Length > 0) - xlCell.Style.NumberFormat.Format = formatCode; - else - xlCell.Style.NumberFormat.NumberFormatId = Int32.Parse(numberFormatId); - } } } - //else if (dCell.CellValue !=null) - //{ - // var styleIndex = Int32.Parse(dCell.StyleIndex.InnerText); - // var numberFormatId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).NumberFormatId; //. [styleIndex].NumberFormatId; - // ws.Cell(dCell.CellReference).Value = dCell.CellValue.Text; - // ws.Cell(dCell.CellReference).Style.NumberFormat.NumberFormatId = Int32.Parse(numberFormatId); - //} + else if (dCell.CellValue != null) + { + //var styleIndex = Int32.Parse(dCell.StyleIndex.InnerText); + var numberFormatId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).NumberFormatId; //. [styleIndex].NumberFormatId; + ws.Cell(dCell.CellReference).Value = dCell.CellValue.Text; + ws.Cell(dCell.CellReference).Style.NumberFormat.NumberFormatId = Int32.Parse(numberFormatId); + } + } + + var printOptions = (PrintOptions)worksheetPart.Worksheet.Descendants().First(); + ws.PageSetup.ShowGridlines = printOptions.GridLines; + ws.PageSetup.CenterHorizontally = printOptions.HorizontalCentered; + ws.PageSetup.CenterVertically = printOptions.VerticalCentered; + ws.PageSetup.ShowRowAndColumnHeadings = printOptions.Headings; + + var pageMargins = (PageMargins)worksheetPart.Worksheet.Descendants().First(); + ws.PageSetup.Margins.Bottom = pageMargins.Bottom; + ws.PageSetup.Margins.Footer = pageMargins.Footer; + ws.PageSetup.Margins.Header = pageMargins.Header; + ws.PageSetup.Margins.Left = pageMargins.Left; + ws.PageSetup.Margins.Right = pageMargins.Right; + ws.PageSetup.Margins.Top = pageMargins.Top; + + var pageSetup = (PageSetup)worksheetPart.Worksheet.Descendants().First(); + ws.PageSetup.PaperSize = (XLPaperSize)Int32.Parse(pageSetup.PaperSize.InnerText); + if (pageSetup.Scale != null) + { + ws.PageSetup.Scale = Int32.Parse(pageSetup.Scale.InnerText); + } + else + { + ws.PageSetup.FitToPages(Int32.Parse(pageSetup.FitToWidth.InnerText), Int32.Parse(pageSetup.FitToHeight.InnerText)); + } + ws.PageSetup.PageOrder = pageOrderValues.Single(p => p.Value == pageSetup.PageOrder).Key; + ws.PageSetup.PageOrientation = pageOrientationValues.Single(p => p.Value == pageSetup.Orientation).Key; + ws.PageSetup.BlackAndWhite = pageSetup.BlackAndWhite; + ws.PageSetup.DraftQuality = pageSetup.Draft; + ws.PageSetup.ShowComments = showCommentsValues.Single(sc => sc.Value == pageSetup.CellComments).Key; + ws.PageSetup.PrintErrorValue = printErrorValues.Single(p => p.Value == pageSetup.Errors).Key; + if (pageSetup.HorizontalDpi != null) ws.PageSetup.HorizontalDpi = Int32.Parse(pageSetup.HorizontalDpi.InnerText); + if (pageSetup.VerticalDpi != null) ws.PageSetup.VerticalDpi = Int32.Parse(pageSetup.VerticalDpi.InnerText); + if (pageSetup.FirstPageNumber != null) ws.PageSetup.FirstPageNumber = Int32.Parse(pageSetup.FirstPageNumber.InnerText); + + var headerFooter = (HeaderFooter)worksheetPart.Worksheet.Descendants().First(); + ws.PageSetup.AlignHFWithMargins = headerFooter.AlignWithMargins; + // Footers + var xlFooter = (XLHeaderFooter)ws.PageSetup.Footer; + var evenFooter = (EvenFooter)headerFooter.EvenFooter; + xlFooter.SetInnerText(XLHFOccurrence.EvenPages, evenFooter.Text); + var oddFooter = (OddFooter)headerFooter.OddFooter; + xlFooter.SetInnerText(XLHFOccurrence.OddPages, oddFooter.Text); + var firstFooter = (FirstFooter)headerFooter.FirstFooter; + xlFooter.SetInnerText(XLHFOccurrence.FirstPage, firstFooter.Text); + // Headers + var xlHeader = (XLHeaderFooter)ws.PageSetup.Header; + var evenHeader = (EvenHeader)headerFooter.EvenHeader; + xlHeader.SetInnerText(XLHFOccurrence.EvenPages, evenHeader.Text); + var oddHeader = (OddHeader)headerFooter.OddHeader; + xlHeader.SetInnerText(XLHFOccurrence.OddPages, oddHeader.Text); + var firstHeader = (FirstHeader)headerFooter.FirstHeader; + xlHeader.SetInnerText(XLHFOccurrence.FirstPage, firstHeader.Text); + + var rowBreaksList = worksheetPart.Worksheet.Descendants(); + if (rowBreaksList.Count() > 0) + { + var rowBreaks = (RowBreaks)rowBreaksList.First(); + foreach (var rowBreak in rowBreaks.Descendants()) + { + ws.PageSetup.RowBreaks.Add(Int32.Parse(rowBreak.Id.InnerText)); + } + } + + var columnBreaksList = worksheetPart.Worksheet.Descendants(); + if (columnBreaksList.Count() > 0) + { + var columnBreaks = (ColumnBreaks)columnBreaksList.First(); + foreach (var columnBreak in columnBreaks.Descendants()) + { + ws.PageSetup.ColumnBreaks.Add(Int32.Parse(columnBreak.Id.InnerText)); + } } } + + var workbook = (Workbook)dSpreadsheet.WorkbookPart.Workbook; + foreach (var definedName in workbook.Descendants()) + { + if (definedName.Name == "_xlnm.Print_Area") + { + foreach (var area in definedName.Text.Split(',')) + { + var sections = area.Split('!'); + var sheetName = sections[0].Replace("\'", ""); + var sheetArea = sections[1]; + Worksheets.GetWorksheet(sheetName).PageSetup.PrintAreas.Add(sheetArea); + } + } + else if (definedName.Name == "_xlnm.Print_Titles") + { + var areas = definedName.Text.Split(','); + + var colSections = areas[0].Split('!'); + var sheetNameCol = colSections[0].Replace("\'", ""); + var sheetAreaCol = colSections[1]; + Worksheets.GetWorksheet(sheetNameCol).PageSetup.SetColumnsToRepeatAtLeft(sheetAreaCol); + + var rowSections = areas[1].Split('!'); + var sheetNameRow = rowSections[0].Replace("\'", ""); + var sheetAreaRow = rowSections[1]; + Worksheets.GetWorksheet(sheetNameRow).PageSetup.SetRowsToRepeatAtTop(sheetAreaRow); + } + //ws.PageSetup.PrintAreas. + } } } + private void ApplyStyle(IXLStylized xlStylized, Int32 styleIndex, Stylesheet s, Fills fills, Borders borders, Fonts fonts, NumberingFormats numberingFormats ) + { + var fillId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).FillId.Value; + if (fillId > 0) + { + var fill = (Fill)fills.ElementAt(Int32.Parse(fillId.ToString())); + xlStylized.Style.Fill.PatternType = fillPatternValues.Single(p => p.Value == fill.PatternFill.PatternType).Key; + xlStylized.Style.Fill.PatternColor = System.Drawing.ColorTranslator.FromHtml("#" + fill.PatternFill.ForegroundColor.Rgb.Value); + xlStylized.Style.Fill.PatternBackgroundColor = System.Drawing.ColorTranslator.FromHtml("#" + fill.PatternFill.BackgroundColor.Rgb.Value); + } + + var alignment = (Alignment)((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).Alignment; + xlStylized.Style.Alignment.Horizontal = alignmentHorizontalValues.Single(a => a.Value == alignment.Horizontal).Key; + xlStylized.Style.Alignment.Indent = Int32.Parse(alignment.Indent.ToString()); + xlStylized.Style.Alignment.JustifyLastLine = alignment.JustifyLastLine; + xlStylized.Style.Alignment.ReadingOrder = (XLAlignmentReadingOrderValues)Int32.Parse(alignment.ReadingOrder.ToString()); + xlStylized.Style.Alignment.RelativeIndent = alignment.RelativeIndent; + xlStylized.Style.Alignment.ShrinkToFit = alignment.ShrinkToFit; + xlStylized.Style.Alignment.TextRotation = Int32.Parse(alignment.TextRotation.ToString()); + xlStylized.Style.Alignment.Vertical = alignmentVerticalValues.Single(a => a.Value == alignment.Vertical).Key; + xlStylized.Style.Alignment.WrapText = alignment.WrapText; + + var borderId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).BorderId.Value; + var border = (Border)borders.ElementAt(Int32.Parse(borderId.ToString())); + var bottomBorder = (BottomBorder)border.BottomBorder; + xlStylized.Style.Border.BottomBorder = borderStyleValues.Single(b => b.Value == bottomBorder.Style.Value).Key; + xlStylized.Style.Border.BottomBorderColor = System.Drawing.ColorTranslator.FromHtml("#" + ((Color)bottomBorder.Color).Rgb.Value); + var topBorder = (TopBorder)border.TopBorder; + xlStylized.Style.Border.TopBorder = borderStyleValues.Single(b => b.Value == topBorder.Style.Value).Key; + xlStylized.Style.Border.TopBorderColor = System.Drawing.ColorTranslator.FromHtml("#" + ((Color)topBorder.Color).Rgb.Value); + var leftBorder = (LeftBorder)border.LeftBorder; + xlStylized.Style.Border.LeftBorder = borderStyleValues.Single(b => b.Value == leftBorder.Style.Value).Key; + xlStylized.Style.Border.LeftBorderColor = System.Drawing.ColorTranslator.FromHtml("#" + ((Color)leftBorder.Color).Rgb.Value); + var rightBorder = (RightBorder)border.RightBorder; + xlStylized.Style.Border.RightBorder = borderStyleValues.Single(b => b.Value == rightBorder.Style.Value).Key; + xlStylized.Style.Border.RightBorderColor = System.Drawing.ColorTranslator.FromHtml("#" + ((Color)rightBorder.Color).Rgb.Value); + var diagonalBorder = (DiagonalBorder)border.DiagonalBorder; + xlStylized.Style.Border.DiagonalBorder = borderStyleValues.Single(b => b.Value == diagonalBorder.Style.Value).Key; + xlStylized.Style.Border.DiagonalBorderColor = System.Drawing.ColorTranslator.FromHtml("#" + ((Color)diagonalBorder.Color).Rgb.Value); + xlStylized.Style.Border.DiagonalDown = border.DiagonalDown; + xlStylized.Style.Border.DiagonalUp = border.DiagonalUp; + + var fontId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).FontId; + var font = (Font)fonts.ElementAt(Int32.Parse(fontId.ToString())); + xlStylized.Style.Font.Bold = (font.Bold != null); + xlStylized.Style.Font.FontColor = System.Drawing.ColorTranslator.FromHtml("#" + ((Color)font.Color).Rgb.Value); + xlStylized.Style.Font.FontFamilyNumbering = (XLFontFamilyNumberingValues)Int32.Parse(((FontFamilyNumbering)font.FontFamilyNumbering).Val.ToString()); + xlStylized.Style.Font.FontName = ((FontName)font.FontName).Val; + xlStylized.Style.Font.FontSize = ((FontSize)font.FontSize).Val; + xlStylized.Style.Font.Italic = (font.Italic != null); + xlStylized.Style.Font.Shadow = (font.Shadow != null); + xlStylized.Style.Font.Strikethrough = (font.Strike != null); + xlStylized.Style.Font.Underline = font.Underline == null || ((Underline)font.Underline).Val == null ? XLWorkbook.DefaultStyle.Font.Underline : underlineValuesList.Single(u => u.Value == ((Underline)font.Underline).Val).Key; + xlStylized.Style.Font.VerticalAlignment = fontVerticalTextAlignmentValues.Single(f => f.Value == ((VerticalTextAlignment)font.VerticalTextAlignment).Val).Key; + + var numberFormatId = ((CellFormat)((CellFormats)s.CellFormats).ElementAt(styleIndex)).NumberFormatId; + var numberFormatList = numberingFormats.Where(nf => ((NumberingFormat)nf).NumberFormatId.Value == numberFormatId); + var formatCode = String.Empty; + if (numberFormatList.Count() > 0) + { + NumberingFormat numberingFormat = (NumberingFormat)numberFormatList.First(); + formatCode = numberingFormat.FormatCode.Value; + } + if (formatCode.Length > 0) + xlStylized.Style.NumberFormat.Format = formatCode; + else + xlStylized.Style.NumberFormat.NumberFormatId = Int32.Parse(numberFormatId); + } + } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs index f780a62..62cc397 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs @@ -22,11 +22,25 @@ private List> fillPatternValues = new List>(); private List> alignmentHorizontalValues = new List>(); private List> alignmentVerticalValues = new List>(); + private List> borderStyleValues = new List>(); + private List> underlineValuesList = new List>(); + private List> fontVerticalTextAlignmentValues = new List>(); + private List> pageOrderValues = new List>(); + private List> pageOrientationValues = new List>(); + private List> showCommentsValues = new List>(); + private List> printErrorValues = new List>(); private void PopulateEnums() { PopulateFillPatternValues(); PopulateAlignmentHorizontalValues(); PopulateAlignmentVerticalValues(); + PupulateBorderStyleValues(); + PopulateUnderlineValues(); + PopulateFontVerticalTextAlignmentValues(); + PopulatePageOrderValues(); + PopulatePageOrientationValues(); + PopulateShowCommentsValues(); + PopulatePrintErrorValues(); } private enum RelType { General, Workbook, Worksheet } @@ -74,39 +88,28 @@ } } - private UnderlineValues GetUnderlineValue(XLFontUnderlineValues xlFontUnderlineValue) + private void PopulateUnderlineValues() { - switch (xlFontUnderlineValue) - { - case XLFontUnderlineValues.Double: return UnderlineValues.Double; - case XLFontUnderlineValues.DoubleAccounting: return UnderlineValues.DoubleAccounting; - case XLFontUnderlineValues.None: return UnderlineValues.None; - case XLFontUnderlineValues.Single: return UnderlineValues.Single; - case XLFontUnderlineValues.SingleAccounting: return UnderlineValues.SingleAccounting; - default: throw new NotImplementedException(); - } + + underlineValuesList.Add(new KeyValuePair(XLFontUnderlineValues.Double, UnderlineValues.Double)); + underlineValuesList.Add(new KeyValuePair(XLFontUnderlineValues.DoubleAccounting, UnderlineValues.DoubleAccounting)); + underlineValuesList.Add(new KeyValuePair(XLFontUnderlineValues.None, UnderlineValues.None)); + underlineValuesList.Add(new KeyValuePair(XLFontUnderlineValues.Single, UnderlineValues.Single)); + underlineValuesList.Add(new KeyValuePair(XLFontUnderlineValues.SingleAccounting, UnderlineValues.SingleAccounting)); } - private OrientationValues GetOrientationValue(XLPageOrientation xlPageOrientation) + private void PopulatePageOrientationValues() { - switch (xlPageOrientation) - { - case XLPageOrientation.Default: return OrientationValues.Default; - case XLPageOrientation.Landscape: return OrientationValues.Landscape; - case XLPageOrientation.Portrait: return OrientationValues.Portrait; - default: throw new NotImplementedException(); - } + pageOrientationValues.Add(new KeyValuePair(XLPageOrientation.Default, OrientationValues.Default)); + pageOrientationValues.Add(new KeyValuePair(XLPageOrientation.Landscape, OrientationValues.Landscape)); + pageOrientationValues.Add(new KeyValuePair(XLPageOrientation.Portrait, OrientationValues.Portrait)); } - private VerticalAlignmentRunValues GetVerticalAlignmentRunValue(XLFontVerticalTextAlignmentValues xlFontVerticalTextAlignmentValue) + private void PopulateFontVerticalTextAlignmentValues() { - switch (xlFontVerticalTextAlignmentValue) - { - case XLFontVerticalTextAlignmentValues.Baseline: return VerticalAlignmentRunValues.Baseline; - case XLFontVerticalTextAlignmentValues.Subscript: return VerticalAlignmentRunValues.Subscript; - case XLFontVerticalTextAlignmentValues.Superscript: return VerticalAlignmentRunValues.Superscript; - default: throw new NotImplementedException(); - } + fontVerticalTextAlignmentValues.Add(new KeyValuePair(XLFontVerticalTextAlignmentValues.Baseline, VerticalAlignmentRunValues.Baseline)); + fontVerticalTextAlignmentValues.Add(new KeyValuePair(XLFontVerticalTextAlignmentValues.Subscript, VerticalAlignmentRunValues.Subscript)); + fontVerticalTextAlignmentValues.Add(new KeyValuePair(XLFontVerticalTextAlignmentValues.Superscript, VerticalAlignmentRunValues.Superscript)); } private void PopulateFillPatternValues() @@ -132,26 +135,24 @@ fillPatternValues.Add(new KeyValuePair(XLFillPatternValues.Solid, PatternValues.Solid)); } - private BorderStyleValues GetBorderStyleValue(XLBorderStyleValues xlBorderStyleValue) + private void PupulateBorderStyleValues() { - switch (xlBorderStyleValue) - { - case XLBorderStyleValues.DashDot: return BorderStyleValues.DashDot; - case XLBorderStyleValues.DashDotDot: return BorderStyleValues.DashDotDot; - case XLBorderStyleValues.Dashed: return BorderStyleValues.Dashed; - case XLBorderStyleValues.Dotted: return BorderStyleValues.Dotted; - case XLBorderStyleValues.Double: return BorderStyleValues.Double; - case XLBorderStyleValues.Hair: return BorderStyleValues.Hair; - case XLBorderStyleValues.Medium: return BorderStyleValues.Medium; - case XLBorderStyleValues.MediumDashDot: return BorderStyleValues.MediumDashDot; - case XLBorderStyleValues.MediumDashDotDot: return BorderStyleValues.MediumDashDotDot; - case XLBorderStyleValues.MediumDashed: return BorderStyleValues.MediumDashed; - case XLBorderStyleValues.None: return BorderStyleValues.None; - case XLBorderStyleValues.SlantDashDot: return BorderStyleValues.SlantDashDot; - case XLBorderStyleValues.Thick: return BorderStyleValues.Thick; - case XLBorderStyleValues.Thin: return BorderStyleValues.Thin; - default: throw new NotImplementedException(); - } + + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.DashDot, BorderStyleValues.DashDot)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.DashDotDot, BorderStyleValues.DashDotDot)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Dashed, BorderStyleValues.Dashed)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Dotted, BorderStyleValues.Dotted)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Double, BorderStyleValues.Double)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Hair, BorderStyleValues.Hair)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Medium, BorderStyleValues.Medium)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.MediumDashDot, BorderStyleValues.MediumDashDot)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.MediumDashDotDot, BorderStyleValues.MediumDashDotDot)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.MediumDashed, BorderStyleValues.MediumDashed)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.None, BorderStyleValues.None)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.SlantDashDot, BorderStyleValues.SlantDashDot)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Thick, BorderStyleValues.Thick)); + borderStyleValues.Add(new KeyValuePair(XLBorderStyleValues.Thin, BorderStyleValues.Thin)); + } private void PopulateAlignmentHorizontalValues() @@ -176,37 +177,25 @@ alignmentVerticalValues.Add(new KeyValuePair(XLAlignmentVerticalValues.Top, VerticalAlignmentValues.Top)); } - private PageOrderValues GetPageOrderValue(XLPageOrderValues pageOrderValue) + private void PopulatePageOrderValues() { - switch (pageOrderValue) - { - case XLPageOrderValues.DownThenOver: return PageOrderValues.DownThenOver; - case XLPageOrderValues.OverThenDown: return PageOrderValues.OverThenDown; - default: throw new NotImplementedException(); - } + pageOrderValues.Add(new KeyValuePair(XLPageOrderValues.DownThenOver, PageOrderValues.DownThenOver)); + pageOrderValues.Add(new KeyValuePair(XLPageOrderValues.OverThenDown, PageOrderValues.OverThenDown)); } - private CellCommentsValues GetCellCommentValue(XLShowCommentsValues showCommentsValue) + private void PopulateShowCommentsValues() { - switch (showCommentsValue) - { - case XLShowCommentsValues.AsDisplayed: return CellCommentsValues.AsDisplayed; - case XLShowCommentsValues.AtEnd: return CellCommentsValues.AtEnd; - case XLShowCommentsValues.None: return CellCommentsValues.None; - default: throw new NotImplementedException(); - } + showCommentsValues.Add(new KeyValuePair(XLShowCommentsValues.AsDisplayed, CellCommentsValues.AsDisplayed)); + showCommentsValues.Add(new KeyValuePair(XLShowCommentsValues.AtEnd, CellCommentsValues.AtEnd)); + showCommentsValues.Add(new KeyValuePair(XLShowCommentsValues.None, CellCommentsValues.None)); } - private PrintErrorValues GetPrintErrorValue(XLPrintErrorValues printErrorValues) + private void PopulatePrintErrorValues() { - switch (printErrorValues) - { - case XLPrintErrorValues.Blank: return PrintErrorValues.Blank; - case XLPrintErrorValues.Dash: return PrintErrorValues.Dash; - case XLPrintErrorValues.Displayed: return PrintErrorValues.Displayed; - case XLPrintErrorValues.NA: return PrintErrorValues.NA; - default: throw new NotImplementedException(); - } + printErrorValues.Add(new KeyValuePair(XLPrintErrorValues.Blank, PrintErrorValues.Blank)); + printErrorValues.Add(new KeyValuePair(XLPrintErrorValues.Dash, PrintErrorValues.Dash)); + printErrorValues.Add(new KeyValuePair(XLPrintErrorValues.Displayed, PrintErrorValues.Displayed)); + printErrorValues.Add(new KeyValuePair(XLPrintErrorValues.NA, PrintErrorValues.NA)); } @@ -389,15 +378,15 @@ var definedNameTextColumn = String.Empty; if (worksheet.PageSetup.FirstRowToRepeatAtTop > 0) { - definedNameTextRow = "'" + worksheet.Name + "'!$" + worksheet.PageSetup.FirstRowToRepeatAtTop.ToString() - + ":$" + worksheet.PageSetup.LastRowToRepeatAtTop.ToString(); + definedNameTextRow = "'" + worksheet.Name + "'!" + worksheet.PageSetup.FirstRowToRepeatAtTop.ToString() + + ":" + worksheet.PageSetup.LastRowToRepeatAtTop.ToString(); } if (worksheet.PageSetup.FirstColumnToRepeatAtLeft > 0) { var minColumn = worksheet.PageSetup.FirstColumnToRepeatAtLeft; var maxColumn = worksheet.PageSetup.LastColumnToRepeatAtLeft; - definedNameTextColumn = "'" + worksheet.Name + "'!$" + XLAddress.GetColumnLetterFromNumber(minColumn) - + ":$" + XLAddress.GetColumnLetterFromNumber(maxColumn); + definedNameTextColumn = "'" + worksheet.Name + "'!" + XLAddress.GetColumnLetterFromNumber(minColumn) + + ":" + XLAddress.GetColumnLetterFromNumber(maxColumn); } if (definedNameTextColumn.Length > 0) @@ -561,9 +550,9 @@ { Bold bold = fontInfo.Font.Bold ? new Bold() : null; Italic italic = fontInfo.Font.Italic ? new Italic() : null; - Underline underline = fontInfo.Font.Underline != XLFontUnderlineValues.None ? new Underline() { Val = GetUnderlineValue(fontInfo.Font.Underline) } : null; + Underline underline = fontInfo.Font.Underline != XLFontUnderlineValues.None ? new Underline() { Val = underlineValuesList.Single(u=>u.Key == fontInfo.Font.Underline).Value } : null; Strike strike = fontInfo.Font.Strikethrough ? new Strike() : null; - VerticalTextAlignment verticalAlignment = new VerticalTextAlignment() { Val = GetVerticalAlignmentRunValue(fontInfo.Font.VerticalAlignment) }; + VerticalTextAlignment verticalAlignment = new VerticalTextAlignment() { Val = fontVerticalTextAlignmentValues.Single(f=>f.Key == fontInfo.Font.VerticalAlignment).Value }; Shadow shadow = fontInfo.Font.Shadow ? new Shadow() : null; Font font = new Font(); FontSize fontSize = new FontSize() { Val = fontInfo.Font.FontSize }; @@ -620,27 +609,27 @@ { Border border = new Border() { DiagonalUp = borderInfo.Border.DiagonalUp, DiagonalDown = borderInfo.Border.DiagonalDown }; - LeftBorder leftBorder = new LeftBorder() { Style = GetBorderStyleValue(borderInfo.Border.LeftBorder) }; + LeftBorder leftBorder = new LeftBorder() { Style = borderStyleValues.Single(b=>b.Key == borderInfo.Border.LeftBorder).Value }; Color leftBorderColor = new Color() { Rgb = borderInfo.Border.LeftBorderColor.ToHex() }; leftBorder.Append(leftBorderColor); border.Append(leftBorder); - RightBorder rightBorder = new RightBorder() { Style = GetBorderStyleValue(borderInfo.Border.RightBorder) }; + RightBorder rightBorder = new RightBorder() { Style = borderStyleValues.Single(b => b.Key == borderInfo.Border.RightBorder).Value }; Color rightBorderColor = new Color() { Rgb = borderInfo.Border.RightBorderColor.ToHex() }; rightBorder.Append(rightBorderColor); border.Append(rightBorder); - TopBorder topBorder = new TopBorder() { Style = GetBorderStyleValue(borderInfo.Border.TopBorder) }; + TopBorder topBorder = new TopBorder() { Style = borderStyleValues.Single(b => b.Key == borderInfo.Border.TopBorder).Value }; Color topBorderColor = new Color() { Rgb = borderInfo.Border.TopBorderColor.ToHex() }; topBorder.Append(topBorderColor); border.Append(topBorder); - BottomBorder bottomBorder = new BottomBorder() { Style = GetBorderStyleValue(borderInfo.Border.BottomBorder) }; + BottomBorder bottomBorder = new BottomBorder() { Style = borderStyleValues.Single(b => b.Key == borderInfo.Border.BottomBorder).Value }; Color bottomBorderColor = new Color() { Rgb = borderInfo.Border.BottomBorderColor.ToHex() }; bottomBorder.Append(bottomBorderColor); border.Append(bottomBorder); - DiagonalBorder diagonalBorder = new DiagonalBorder() { Style = GetBorderStyleValue(borderInfo.Border.DiagonalBorder) }; + DiagonalBorder diagonalBorder = new DiagonalBorder() { Style = borderStyleValues.Single(b => b.Key == borderInfo.Border.DiagonalBorder).Value }; Color diagonalBorderColor = new Color() { Rgb = borderInfo.Border.DiagonalBorderColor.ToHex() }; diagonalBorder.Append(diagonalBorderColor); border.Append(diagonalBorder); @@ -664,11 +653,11 @@ Boolean applyFill = fillPatternValues.Single(p => p.Key == styleInfo.Style.Fill.PatternType).Value == PatternValues.None; IXLBorder opBorder = styleInfo.Style.Border; Boolean applyBorder = ( - GetBorderStyleValue(opBorder.BottomBorder) != BorderStyleValues.None - || GetBorderStyleValue(opBorder.DiagonalBorder) != BorderStyleValues.None - || GetBorderStyleValue(opBorder.RightBorder) != BorderStyleValues.None - || GetBorderStyleValue(opBorder.LeftBorder) != BorderStyleValues.None - || GetBorderStyleValue(opBorder.TopBorder) != BorderStyleValues.None); + borderStyleValues.Single(b => b.Key == opBorder.BottomBorder).Value != BorderStyleValues.None + || borderStyleValues.Single(b => b.Key == opBorder.DiagonalBorder).Value != BorderStyleValues.None + || borderStyleValues.Single(b => b.Key == opBorder.RightBorder).Value != BorderStyleValues.None + || borderStyleValues.Single(b => b.Key == opBorder.LeftBorder).Value != BorderStyleValues.None + || borderStyleValues.Single(b => b.Key == opBorder.TopBorder).Value != BorderStyleValues.None); CellFormat cellStyleFormat = new CellFormat() { NumberFormatId = (UInt32Value)(UInt32)numberFormatId, FontId = (UInt32Value)fontId, FillId = (UInt32Value)fillId, BorderId = (UInt32Value)borderId, ApplyNumberFormat = false, ApplyFill = applyFill, ApplyBorder = applyBorder, ApplyAlignment = false, ApplyProtection = false }; cellStyleFormats.Append(cellStyleFormat); @@ -873,14 +862,14 @@ //Drawing drawing1 = new Drawing() { Id = "rId1" }; PageSetup pageSetup1 = new PageSetup() { - Orientation = GetOrientationValue(xlWorksheet.PageSetup.PageOrientation), + Orientation = pageOrientationValues.Single(p=>p.Key == xlWorksheet.PageSetup.PageOrientation).Value, Id = "rId" + RelId.GetNext(RelType.Worksheet), PaperSize = (UInt32Value)(UInt32)xlWorksheet.PageSetup.PaperSize, BlackAndWhite = xlWorksheet.PageSetup.BlackAndWhite, Draft = xlWorksheet.PageSetup.DraftQuality, - PageOrder = GetPageOrderValue(xlWorksheet.PageSetup.PageOrder), - CellComments = GetCellCommentValue(xlWorksheet.PageSetup.ShowComments), - Errors = GetPrintErrorValue(xlWorksheet.PageSetup.PrintErrorValue) + PageOrder = pageOrderValues.Single(p=>p.Key == xlWorksheet.PageSetup.PageOrder).Value, + CellComments = showCommentsValues.Single(s=>s.Key == xlWorksheet.PageSetup.ShowComments).Value, + Errors = printErrorValues.Single(p=>p.Key == xlWorksheet.PageSetup.PrintErrorValue).Value }; if (xlWorksheet.PageSetup.FirstPageNumber > 0) diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj index e4c7663..98c9ea9 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj @@ -52,6 +52,7 @@ + diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs index 285ec3a..c1cf1c9 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs @@ -35,6 +35,7 @@ new HeaderFooters().Create(@"C:\Excel Files\Created\HeaderFooters.xlsx"); new Sheets().Create(@"C:\Excel Files\Created\Sheets.xlsx"); new SheetTab().Create(@"C:\Excel Files\Created\SheetTab.xlsx"); + new ChangingBasicTable().Create(); } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/ChangingBasicTable.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/ChangingBasicTable.cs new file mode 100644 index 0000000..018b3fd --- /dev/null +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/ChangingBasicTable.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ClosedXML.Excel; +using System.Drawing; + + +namespace ClosedXML_Examples +{ + public class ChangingBasicTable + { + public void Create() + { + var workbook = new XLWorkbook(); + workbook.Load(@"C:\BasicTable.xlsx"); + var ws = workbook.Worksheets.GetWorksheet(0); + + // Change the background color of the headers + var rngHeaders = ws.Range("B3:F3"); + rngHeaders.Style.Fill.BackgroundColor = Color.LightSalmon; + + // Change the date formats + var rngDates = ws.Range("E4:E6"); + rngDates.Style.NumberFormat.Format = "MM/dd/yyyy"; + + // Change the income values to text + var rngNumbers = ws.Range("F4:F6"); + foreach (var cell in rngNumbers.Cells()) + { + cell.DataType = XLCellValues.Text; + cell.Value += " Dollars"; + } + + workbook.SaveAs(@"C:\BasicTable_Modified.xlsx"); + } + } +} \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs index a8486aa..4c73461 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using ClosedXML.Excel; +using System.IO; namespace ClosedXML_Examples { @@ -10,15 +11,27 @@ { public static void LoadAllFiles() { - var forLoadingFolder = @"C:\Excel Files\ForLoading\"; - var forSavingFolder = @"C:\Excel Files\Modified\"; + var forLoadingFolder = @"C:\Excel Files\ForLoading"; + var forSavingFolder = @"C:\Excel Files\Modified"; - LoadAndSaveFile(forLoadingFolder + "HelloWorld.xlsx", forSavingFolder + "HelloWorld.xlsx"); - LoadAndSaveFile(forLoadingFolder + "DataTypes.xlsx", forSavingFolder + "DataTypes.xlsx"); - LoadAndSaveFile(forLoadingFolder + "MultipleSheets.xlsx", forSavingFolder + "MultipleSheets.xlsx"); - LoadAndSaveFile(forLoadingFolder + "styleNumberFormat.xlsx", forSavingFolder + "styleNumberFormat.xlsx"); - LoadAndSaveFile(forLoadingFolder + "styleFill.xlsx", forSavingFolder + "styleFill.xlsx"); - LoadAndSaveFile(forLoadingFolder + "styleAlignment.xlsx", forSavingFolder + "styleAlignment.xlsx"); + foreach (var file in Directory.GetFiles(forLoadingFolder)) + { + var fileInfo = new FileInfo(file); + var fileName = fileInfo.Name; + LoadAndSaveFile(forLoadingFolder + @"\" + fileName, forSavingFolder + @"\" + fileName); + } + + //LoadAndSaveFile(forLoadingFolder + @"\HeaderFooters.xlsx", forSavingFolder + @"\HeaderFooters.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "DataTypes.xlsx", forSavingFolder + "DataTypes.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "MultipleSheets.xlsx", forSavingFolder + "MultipleSheets.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "styleNumberFormat.xlsx", forSavingFolder + "styleNumberFormat.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "styleFill.xlsx", forSavingFolder + "styleFill.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "styleAlignment.xlsx", forSavingFolder + "styleAlignment.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "styleBorder.xlsx", forSavingFolder + "styleBorder.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "styleFont.xlsx", forSavingFolder + "styleFont.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "MergedCells.xlsx", forSavingFolder + "MergedCells.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "ColumnSettings.xlsx", forSavingFolder + "ColumnSettings.xlsx"); + //LoadAndSaveFile(forLoadingFolder + "RowSettings.xlsx", forSavingFolder + "RowSettings.xlsx"); } private static void LoadAndSaveFile(String input, String output) diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs index 2bf8280..2076ad6 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs @@ -15,7 +15,7 @@ { static void Main(string[] args) { - //CreateFiles.CreateAllFiles(); + CreateFiles.CreateAllFiles(); LoadFiles.LoadAllFiles(); } }