diff --git a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj b/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj index ced8db9..f06a575 100644 --- a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj +++ b/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj @@ -33,7 +33,7 @@ true bin\Release\ TRACE - NET4 + NET4 prompt 4 bin\Release\ClosedXML.XML @@ -111,7 +111,9 @@ ClosedXML.snk - + + D:\Downloads\DocumentFormat.OpenXml.dll + diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs index 423f094..f8510bf 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs @@ -59,7 +59,7 @@ public IXLFilterColumn Column(String column) { - return Column(ExcelHelper.GetColumnNumberFromLetter(column)); + return Column(XLHelper.GetColumnNumberFromLetter(column)); } public IXLFilterColumn Column(Int32 column) diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs index 3b8ae88..6154405 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs @@ -378,7 +378,7 @@ if (_worksheet.Workbook.WorksheetsInternal.Any( w => String.Compare(w.Name, sName, true) == 0) - && ExcelHelper.IsValidA1Address(cAddress) + && XLHelper.IsValidA1Address(cAddress) ) return _worksheet.Workbook.Worksheet(sName).Cell(cAddress).Value; return fA1; @@ -1452,28 +1452,28 @@ { string columnToReturn; if (columnPart == "C") - columnToReturn = ExcelHelper.GetColumnLetterFromNumber(Address.ColumnNumber + columnsToShift); + columnToReturn = XLHelper.GetColumnLetterFromNumber(Address.ColumnNumber + columnsToShift); else { int bIndex = columnPart.IndexOf("["); int mIndex = columnPart.IndexOf("-"); if (bIndex >= 0) { - columnToReturn = ExcelHelper.GetColumnLetterFromNumber( + columnToReturn = XLHelper.GetColumnLetterFromNumber( Address.ColumnNumber + Int32.Parse(columnPart.Substring(bIndex + 1, columnPart.Length - bIndex - 2)) + columnsToShift ); } else if (mIndex >= 0) { - columnToReturn = ExcelHelper.GetColumnLetterFromNumber( + columnToReturn = XLHelper.GetColumnLetterFromNumber( Address.ColumnNumber + Int32.Parse(columnPart.Substring(mIndex)) + columnsToShift ); } else { columnToReturn = "$" + - ExcelHelper.GetColumnLetterFromNumber(Int32.Parse(columnPart.Substring(1)) + + XLHelper.GetColumnLetterFromNumber(Int32.Parse(columnPart.Substring(1)) + columnsToShift); } } @@ -1519,8 +1519,8 @@ } else { - int column1 = ExcelHelper.GetColumnNumberFromLetter(p1.Replace("$", string.Empty)); - int column2 = ExcelHelper.GetColumnNumberFromLetter(p2.Replace("$", string.Empty)); + int column1 = XLHelper.GetColumnNumberFromLetter(p1.Replace("$", string.Empty)); + int column2 = XLHelper.GetColumnNumberFromLetter(p2.Replace("$", string.Empty)); string leftPart = GetR1C1Column(column1, p1.Contains('$'), columnsToShift); string rightPart = GetR1C1Column(column2, p2.Contains('$'), columnsToShift); return leftPart + ":" + rightPart; @@ -1887,15 +1887,15 @@ if (column1String[0] == '$') { column1 = "$" + - ExcelHelper.GetColumnLetterFromNumber( - ExcelHelper.GetColumnNumberFromLetter( + XLHelper.GetColumnLetterFromNumber( + XLHelper.GetColumnNumberFromLetter( column1String.Substring(1)) + columnsShifted); } else { column1 = - ExcelHelper.GetColumnLetterFromNumber( - ExcelHelper.GetColumnNumberFromLetter(column1String) + + XLHelper.GetColumnLetterFromNumber( + XLHelper.GetColumnNumberFromLetter(column1String) + columnsShifted); } @@ -1903,15 +1903,15 @@ if (column2String[0] == '$') { column2 = "$" + - ExcelHelper.GetColumnLetterFromNumber( - ExcelHelper.GetColumnNumberFromLetter( + XLHelper.GetColumnLetterFromNumber( + XLHelper.GetColumnNumberFromLetter( column2String.Substring(1)) + columnsShifted); } else { column2 = - ExcelHelper.GetColumnLetterFromNumber( - ExcelHelper.GetColumnNumberFromLetter(column2String) + + XLHelper.GetColumnLetterFromNumber( + XLHelper.GetColumnNumberFromLetter(column2String) + columnsShifted); } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs index aa8f2d8..a23430e 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs @@ -21,7 +21,7 @@ public XLColumn(Int32 column, XLColumnParameters xlColumnParameters) : base( new XLRangeAddress(new XLAddress(xlColumnParameters.Worksheet, 1, column, false, false), - new XLAddress(xlColumnParameters.Worksheet, ExcelHelper.MaxRowNumber, column, false, + new XLAddress(xlColumnParameters.Worksheet, XLHelper.MaxRowNumber, column, false, false))) { SetColumnNumber(column); @@ -39,7 +39,7 @@ public XLColumn(XLColumn column) : base( new XLRangeAddress(new XLAddress(column.Worksheet, 1, column.ColumnNumber(), false, false), - new XLAddress(column.Worksheet, ExcelHelper.MaxRowNumber, column.ColumnNumber(), + new XLAddress(column.Worksheet, XLHelper.MaxRowNumber, column.ColumnNumber(), false, false))) { _width = column._width; @@ -267,7 +267,7 @@ public IXLColumn AdjustToContents(Int32 startRow) { - return AdjustToContents(startRow, ExcelHelper.MaxRowNumber); + return AdjustToContents(startRow, XLHelper.MaxRowNumber); } public IXLColumn AdjustToContents(Int32 startRow, Int32 endRow) @@ -277,12 +277,12 @@ public IXLColumn AdjustToContents(Double minWidth, Double maxWidth) { - return AdjustToContents(1, ExcelHelper.MaxRowNumber, minWidth, maxWidth); + return AdjustToContents(1, XLHelper.MaxRowNumber, minWidth, maxWidth); } public IXLColumn AdjustToContents(Int32 startRow, Double minWidth, Double maxWidth) { - return AdjustToContents(startRow, ExcelHelper.MaxRowNumber, minWidth, maxWidth); + return AdjustToContents(startRow, XLHelper.MaxRowNumber, minWidth, maxWidth); } public IXLColumn AdjustToContents(Int32 startRow, Int32 endRow, Double minWidth, Double maxWidth) @@ -632,7 +632,7 @@ public override XLRange AsRange() { - return Range(1, 1, ExcelHelper.MaxRowNumber, 1); + return Range(1, 1, XLHelper.MaxRowNumber, 1); } private void WorksheetRangeShiftedColumns(XLRange range, int columnsShifted) @@ -653,7 +653,7 @@ RangeAddress.FirstAddress.FixedRow, RangeAddress.FirstAddress.FixedColumn); RangeAddress.LastAddress = new XLAddress(Worksheet, - ExcelHelper.MaxRowNumber, + XLHelper.MaxRowNumber, column, RangeAddress.LastAddress.FixedRow, RangeAddress.LastAddress.FixedColumn); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumnCollection.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumnCollection.cs index 8f518db..9d5f440 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumnCollection.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumnCollection.cs @@ -12,7 +12,7 @@ { var columnToMove = _dictionary[ro]; Int32 newColumnNum = ro + columnsToShift; - if (newColumnNum <= ExcelHelper.MaxColumnNumber) + if (newColumnNum <= XLHelper.MaxColumnNumber) { var newColumn = new XLColumn(columnToMove) { @@ -20,7 +20,7 @@ { FirstAddress = new XLAddress(1, newColumnNum, false, false), LastAddress = - new XLAddress(ExcelHelper.MaxRowNumber, newColumnNum, false, false) + new XLAddress(XLHelper.MaxRowNumber, newColumnNum, false, false) } }; diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Coordinates/XLAddress.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Coordinates/XLAddress.cs index d19a005..8d0f040 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Coordinates/XLAddress.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Coordinates/XLAddress.cs @@ -16,6 +16,11 @@ return Create(null, cellAddressString); } + public static XLAddress Create(XLAddress cellAddress) + { + return new XLAddress(cellAddress.Worksheet, cellAddress.RowNumber, cellAddress.ColumnNumber, cellAddress.FixedRow, cellAddress.FixedColumn); + } + public static XLAddress Create(XLWorksheet worksheet, string cellAddressString) { var fixedColumn = cellAddressString[0] == '$'; @@ -49,7 +54,7 @@ columnLetter = cellAddressString.Substring(startPos, rowPos); } - rowNumber = int.Parse(cellAddressString.Substring(rowPos + 1), ExcelHelper.NumberFormatForParse); + rowNumber = int.Parse(cellAddressString.Substring(rowPos + 1), XLHelper.NumberFormatForParse); } else { @@ -62,7 +67,7 @@ columnLetter = cellAddressString.Substring(startPos, rowPos); } - rowNumber = Int32.Parse(cellAddressString.Substring(rowPos), ExcelHelper.NumberFormatForParse); + rowNumber = Int32.Parse(cellAddressString.Substring(rowPos), XLHelper.NumberFormatForParse); } return new XLAddress(worksheet, rowNumber, columnLetter, fixedRow, fixedColumn); } @@ -102,7 +107,7 @@ /// /// public XLAddress(XLWorksheet worksheet, int rowNumber, string columnLetter, bool fixedRow, bool fixedColumn) - : this(worksheet, rowNumber, ExcelHelper.GetColumnNumberFromLetter(columnLetter), fixedRow, fixedColumn) + : this(worksheet, rowNumber, XLHelper.GetColumnNumberFromLetter(columnLetter), fixedRow, fixedColumn) { _columnLetter = columnLetter; } @@ -187,7 +192,7 @@ /// public String ColumnLetter { - get { return _columnLetter ?? (_columnLetter = ExcelHelper.GetColumnLetterFromNumber(_columnNumber)); } + get { return _columnLetter ?? (_columnLetter = XLHelper.GetColumnLetterFromNumber(_columnNumber)); } } #endregion #region Overrides diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLHFText.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLHFText.cs index 9dc2744..ed921ea 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLHFText.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLHFText.cs @@ -32,7 +32,7 @@ else sb.Append(",Regular\""); - if (RichText.FontSize > 0 && Math.Abs(RichText.FontSize - wsFont.FontSize) > ExcelHelper.Epsilon) + if (RichText.FontSize > 0 && Math.Abs(RichText.FontSize - wsFont.FontSize) > XLHelper.Epsilon) sb.Append("&" + RichText.FontSize); if (RichText.Strikethrough && !wsFont.Strikethrough) diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLPageSetup.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLPageSetup.cs index 9d6a7fd..548a2f6 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLPageSetup.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/PageSetup/XLPageSetup.cs @@ -90,7 +90,7 @@ } public void SetColumnsToRepeatAtLeft(String firstColumnToRepeatAtLeft, String lastColumnToRepeatAtLeft) { - SetColumnsToRepeatAtLeft(ExcelHelper.GetColumnNumberFromLetter(firstColumnToRepeatAtLeft), ExcelHelper.GetColumnNumberFromLetter(lastColumnToRepeatAtLeft)); + SetColumnsToRepeatAtLeft(XLHelper.GetColumnNumberFromLetter(firstColumnToRepeatAtLeft), XLHelper.GetColumnNumberFromLetter(lastColumnToRepeatAtLeft)); } public void SetColumnsToRepeatAtLeft(Int32 firstColumnToRepeatAtLeft, Int32 lastColumnToRepeatAtLeft) { diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/Sort/XLSortElements.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/Sort/XLSortElements.cs index 59a698a..adbc4cb 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/Sort/XLSortElements.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/Sort/XLSortElements.cs @@ -45,7 +45,7 @@ { elements.Add(new XLSortElement() { - ElementNumber = ExcelHelper.GetColumnNumberFromLetter(elementNumber), + ElementNumber = XLHelper.GetColumnNumberFromLetter(elementNumber), SortOrder = sortOrder, IgnoreBlanks = ignoreBlanks, MatchCase = matchCase diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRange.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRange.cs index 84de779..73bd719 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRange.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRange.cs @@ -11,13 +11,13 @@ public XLRange(XLRangeParameters xlRangeParameters) : base(xlRangeParameters.RangeAddress) { - RangeParameters = xlRangeParameters; + RangeParameters = new XLRangeParameters(xlRangeParameters.RangeAddress, xlRangeParameters.DefaultStyle); if (!xlRangeParameters.IgnoreEvents) { SubscribeToShiftedRows(WorksheetRangeShiftedRows); SubscribeToShiftedColumns(WorksheetRangeShiftedColumns); - xlRangeParameters.IgnoreEvents = true; + //xlRangeParameters.IgnoreEvents = true; } SetStyle(xlRangeParameters.DefaultStyle); } @@ -70,8 +70,8 @@ public IXLRangeColumns Columns(String firstColumn, String lastColumn) { - return Columns(ExcelHelper.GetColumnNumberFromLetter(firstColumn), - ExcelHelper.GetColumnNumberFromLetter(lastColumn)); + return Columns(XLHelper.GetColumnNumberFromLetter(firstColumn), + XLHelper.GetColumnNumberFromLetter(lastColumn)); } public IXLRangeColumns Columns(String columns) @@ -84,7 +84,7 @@ String lastColumn; if (tPair.Contains(':') || tPair.Contains('-')) { - string[] columnRange = ExcelHelper.SplitRange(tPair); + string[] columnRange = XLHelper.SplitRange(tPair); firstColumn = columnRange[0]; lastColumn = columnRange[1]; @@ -194,7 +194,7 @@ String lastRow; if (tPair.Contains(':') || tPair.Contains('-')) { - string[] rowRange = ExcelHelper.SplitRange(tPair); + string[] rowRange = XLHelper.SplitRange(tPair); firstRow = rowRange[0]; lastRow = rowRange[1]; @@ -297,11 +297,11 @@ base.CopyTo(target); Int32 lastRowNumber = target.Address.RowNumber + RowCount() - 1; - if (lastRowNumber > ExcelHelper.MaxRowNumber) - lastRowNumber = ExcelHelper.MaxRowNumber; + if (lastRowNumber > XLHelper.MaxRowNumber) + lastRowNumber = XLHelper.MaxRowNumber; Int32 lastColumnNumber = target.Address.ColumnNumber + ColumnCount() - 1; - if (lastColumnNumber > ExcelHelper.MaxColumnNumber) - lastColumnNumber = ExcelHelper.MaxColumnNumber; + if (lastColumnNumber > XLHelper.MaxColumnNumber) + lastColumnNumber = XLHelper.MaxColumnNumber; return target.Worksheet.Range(target.Address.RowNumber, target.Address.ColumnNumber, @@ -314,11 +314,11 @@ base.CopyTo(target); Int32 lastRowNumber = target.RangeAddress.FirstAddress.RowNumber + RowCount() - 1; - if (lastRowNumber > ExcelHelper.MaxRowNumber) - lastRowNumber = ExcelHelper.MaxRowNumber; + if (lastRowNumber > XLHelper.MaxRowNumber) + lastRowNumber = XLHelper.MaxRowNumber; Int32 lastColumnNumber = target.RangeAddress.FirstAddress.ColumnNumber + ColumnCount() - 1; - if (lastColumnNumber > ExcelHelper.MaxColumnNumber) - lastColumnNumber = ExcelHelper.MaxColumnNumber; + if (lastColumnNumber > XLHelper.MaxColumnNumber) + lastColumnNumber = XLHelper.MaxColumnNumber; return target.Worksheet.Range(target.RangeAddress.FirstAddress.RowNumber, target.RangeAddress.FirstAddress.ColumnNumber, @@ -361,7 +361,7 @@ private void WorksheetRangeShiftedRows(XLRange range, int rowsShifted) { - ShiftRows(RangeAddress, range, rowsShifted); + ShiftRows(RangeAddress, range, rowsShifted); } IXLRangeColumn IXLRange.FirstColumn(Func predicate) @@ -664,8 +664,8 @@ public XLRangeRow Row(Int32 row) { - if (row <= 0 || row > ExcelHelper.MaxRowNumber) - throw new IndexOutOfRangeException(String.Format("Row number must be between 1 and {0}", ExcelHelper.MaxRowNumber)); + if (row <= 0 || row > XLHelper.MaxRowNumber) + throw new IndexOutOfRangeException(String.Format("Row number must be between 1 and {0}", XLHelper.MaxRowNumber)); var firstCellAddress = new XLAddress(Worksheet, RangeAddress.FirstAddress.RowNumber + row - 1, @@ -685,8 +685,8 @@ public XLRangeColumn Column(Int32 column) { - if (column <= 0 || column > ExcelHelper.MaxColumnNumber) - throw new IndexOutOfRangeException(String.Format("Column number must be between 1 and {0}", ExcelHelper.MaxColumnNumber)); + if (column <= 0 || column > XLHelper.MaxColumnNumber) + throw new IndexOutOfRangeException(String.Format("Column number must be between 1 and {0}", XLHelper.MaxColumnNumber)); var firstCellAddress = new XLAddress(Worksheet, RangeAddress.FirstAddress.RowNumber, @@ -704,7 +704,7 @@ public XLRangeColumn Column(String column) { - return Column(ExcelHelper.GetColumnNumberFromLetter(column)); + return Column(XLHelper.GetColumnNumberFromLetter(column)); } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeAddress.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeAddress.cs index cca03c9..1a02e91 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeAddress.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeAddress.cs @@ -15,11 +15,16 @@ #region Constructor + public XLRangeAddress(XLRangeAddress rangeAddress): this(rangeAddress.FirstAddress, rangeAddress.LastAddress) + { + + } + public XLRangeAddress(XLAddress firstAddress, XLAddress lastAddress) { Worksheet = firstAddress.Worksheet; - FirstAddress = firstAddress; - LastAddress = lastAddress; + FirstAddress = XLAddress.Create(firstAddress); + LastAddress = XLAddress.Create(lastAddress); } public XLRangeAddress(XLWorksheet worksheet, String rangeAddress) @@ -42,7 +47,7 @@ secondPart = addressToUse; } - if (ExcelHelper.IsValidA1Address(firstPart)) + if (XLHelper.IsValidA1Address(firstPart)) { FirstAddress = XLAddress.Create(worksheet, firstPart); LastAddress = XLAddress.Create(worksheet, secondPart); @@ -54,12 +59,12 @@ if (char.IsDigit(firstPart[0])) { FirstAddress = XLAddress.Create(worksheet, "A" + firstPart); - LastAddress = XLAddress.Create(worksheet, ExcelHelper.MaxColumnLetter + secondPart); + LastAddress = XLAddress.Create(worksheet, XLHelper.MaxColumnLetter + secondPart); } else { FirstAddress = XLAddress.Create(worksheet, firstPart + "1"); - LastAddress = XLAddress.Create(worksheet, secondPart + ExcelHelper.MaxRowNumber.ToStringLookup()); + LastAddress = XLAddress.Create(worksheet, secondPart + XLHelper.MaxRowNumber.ToStringLookup()); } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs index f3e044b..3a6582d 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs @@ -45,7 +45,7 @@ protected XLRangeBase(XLRangeAddress rangeAddress) { - RangeAddress = rangeAddress; + RangeAddress = new XLRangeAddress(rangeAddress); } #endregion @@ -72,7 +72,14 @@ #region Public properties - public XLRangeAddress RangeAddress { get; protected set; } + //public XLRangeAddress RangeAddress { get; protected set; } + + private XLRangeAddress _rangeAddress; + public XLRangeAddress RangeAddress + { + get { return _rangeAddress; } + protected set { _rangeAddress = value; } + } public XLWorksheet Worksheet { @@ -535,7 +542,7 @@ if (ro > 0 && co > 0) return Worksheet.Cell(ro, co); - if (ro > 0 && lColumn < ExcelHelper.MaxColumnNumber) + if (ro > 0 && lColumn < XLHelper.MaxColumnNumber) { for (co = fColumn; co <= lColumn; co++) { @@ -543,7 +550,7 @@ if (!cell.IsEmpty(true)) return cell; } } - else if (co > 0 && lRow < ExcelHelper.MaxRowNumber) + else if (co > 0 && lRow < XLHelper.MaxRowNumber) { for (ro = fRow; ro <= lRow; ro++) { @@ -626,7 +633,7 @@ if (ro > 0 && co > 0) return Worksheet.Cell(ro, co); - if (ro > 0 && lColumn < ExcelHelper.MaxColumnNumber) + if (ro > 0 && lColumn < XLHelper.MaxColumnNumber) { for (co = lColumn; co >= fColumn; co--) { @@ -634,7 +641,7 @@ if (!cell.IsEmpty(true)) return cell; } } - else if (co > 0 && lRow < ExcelHelper.MaxRowNumber) + else if (co > 0 && lRow < XLHelper.MaxRowNumber) { for (ro = lRow; ro >= fRow; ro--) { @@ -670,7 +677,7 @@ public XLCell Cell(String cellAddressInRange) { - if (ExcelHelper.IsValidA1Address(cellAddressInRange)) + if (XLHelper.IsValidA1Address(cellAddressInRange)) return Cell(XLAddress.Create(Worksheet, cellAddressInRange)); return (XLCell)Worksheet.NamedRange(cellAddressInRange).Ranges.First().FirstCell(); @@ -690,16 +697,16 @@ { var absoluteAddress = cellAddressInRange + RangeAddress.FirstAddress - 1; - if (absoluteAddress.RowNumber <= 0 || absoluteAddress.RowNumber > ExcelHelper.MaxRowNumber) + if (absoluteAddress.RowNumber <= 0 || absoluteAddress.RowNumber > XLHelper.MaxRowNumber) { throw new IndexOutOfRangeException(String.Format("Row number must be between 1 and {0}", - ExcelHelper.MaxRowNumber)); + XLHelper.MaxRowNumber)); } - if (absoluteAddress.ColumnNumber <= 0 || absoluteAddress.ColumnNumber > ExcelHelper.MaxColumnNumber) + if (absoluteAddress.ColumnNumber <= 0 || absoluteAddress.ColumnNumber > XLHelper.MaxColumnNumber) { throw new IndexOutOfRangeException(String.Format("Column number must be between 1 and {0}", - ExcelHelper.MaxColumnNumber)); + XLHelper.MaxColumnNumber)); } var cell = Worksheet.Internals.CellsCollection.GetCell(absoluteAddress.RowNumber, @@ -852,7 +859,7 @@ { Int32 test; if (Int32.TryParse(address, out test)) - return ExcelHelper.GetColumnLetterFromNumber(test) + "1"; + return XLHelper.GetColumnLetterFromNumber(test) + "1"; return address; } @@ -904,16 +911,16 @@ { int columnCount = ColumnCount(); int firstColumn = RangeAddress.FirstAddress.ColumnNumber + columnCount; - if (firstColumn > ExcelHelper.MaxColumnNumber) - firstColumn = ExcelHelper.MaxColumnNumber; + if (firstColumn > XLHelper.MaxColumnNumber) + firstColumn = XLHelper.MaxColumnNumber; int lastColumn = firstColumn + ColumnCount() - 1; - if (lastColumn > ExcelHelper.MaxColumnNumber) - lastColumn = ExcelHelper.MaxColumnNumber; + if (lastColumn > XLHelper.MaxColumnNumber) + lastColumn = XLHelper.MaxColumnNumber; int firstRow = RangeAddress.FirstAddress.RowNumber; int lastRow = firstRow + RowCount() - 1; - if (lastRow > ExcelHelper.MaxRowNumber) - lastRow = ExcelHelper.MaxRowNumber; + if (lastRow > XLHelper.MaxRowNumber) + lastRow = XLHelper.MaxRowNumber; var newRange = Worksheet.Range(firstRow, firstColumn, lastRow, lastColumn); return newRange.InsertColumnsBefore(onlyUsedCells, numberOfColumns, formatFromLeft); @@ -1009,15 +1016,15 @@ cellsToInsert.ForEach( c => Worksheet.Internals.CellsCollection.Add(c.Key.RowNumber, c.Key.ColumnNumber, c.Value)); + Int32 firstRowReturn = RangeAddress.FirstAddress.RowNumber; + Int32 lastRowReturn = RangeAddress.LastAddress.RowNumber ; + Int32 firstColumnReturn = RangeAddress.FirstAddress.ColumnNumber ; + Int32 lastColumnReturn = RangeAddress.FirstAddress.ColumnNumber + numberOfColumns - 1; + using (var asRange = AsRange()) Worksheet.NotifyRangeShiftedColumns(asRange, numberOfColumns); - var rangeToReturn = Worksheet.Range( - RangeAddress.FirstAddress.RowNumber, - RangeAddress.FirstAddress.ColumnNumber - numberOfColumns, - RangeAddress.LastAddress.RowNumber, - RangeAddress.FirstAddress.ColumnNumber - 1 - ); + var rangeToReturn = Worksheet.Range(firstRowReturn, firstColumnReturn, lastRowReturn, lastColumnReturn); if (formatFromLeft && rangeToReturn.RangeAddress.FirstAddress.ColumnNumber > 1) { @@ -1092,16 +1099,16 @@ { int rowCount = RowCount(); int firstRow = RangeAddress.FirstAddress.RowNumber + rowCount; - if (firstRow > ExcelHelper.MaxRowNumber) - firstRow = ExcelHelper.MaxRowNumber; + if (firstRow > XLHelper.MaxRowNumber) + firstRow = XLHelper.MaxRowNumber; int lastRow = firstRow + RowCount() - 1; - if (lastRow > ExcelHelper.MaxRowNumber) - lastRow = ExcelHelper.MaxRowNumber; + if (lastRow > XLHelper.MaxRowNumber) + lastRow = XLHelper.MaxRowNumber; int firstColumn = RangeAddress.FirstAddress.ColumnNumber; int lastColumn = firstColumn + ColumnCount() - 1; - if (lastColumn > ExcelHelper.MaxColumnNumber) - lastColumn = ExcelHelper.MaxColumnNumber; + if (lastColumn > XLHelper.MaxColumnNumber) + lastColumn = XLHelper.MaxColumnNumber; var newRange = Worksheet.Range(firstRow, firstColumn, lastRow, lastColumn); return newRange.InsertRowsAbove(onlyUsedCells, numberOfRows, formatFromAbove); @@ -1193,16 +1200,16 @@ cellsToDelete.ForEach(c => Worksheet.Internals.CellsCollection.Remove(c.RowNumber, c.ColumnNumber)); cellsToInsert.ForEach( c => Worksheet.Internals.CellsCollection.Add(c.Key.RowNumber, c.Key.ColumnNumber, c.Value)); - + + Int32 firstRowReturn = RangeAddress.FirstAddress.RowNumber; + Int32 lastRowReturn = RangeAddress.FirstAddress.RowNumber + numberOfRows - 1; + Int32 firstColumnReturn = RangeAddress.FirstAddress.ColumnNumber; + Int32 lastColumnReturn = RangeAddress.LastAddress.ColumnNumber; + using (var asRange = AsRange()) Worksheet.NotifyRangeShiftedRows(asRange, numberOfRows); - var rangeToReturn = Worksheet.Range( - RangeAddress.FirstAddress.RowNumber - numberOfRows, - RangeAddress.FirstAddress.ColumnNumber, - RangeAddress.FirstAddress.RowNumber - 1, - RangeAddress.LastAddress.ColumnNumber - ); + var rangeToReturn = Worksheet.Range(firstRowReturn, firstColumnReturn, lastRowReturn, lastColumnReturn); if (formatFromAbove && rangeToReturn.RangeAddress.FirstAddress.RowNumber > 1) { @@ -1417,40 +1424,27 @@ if ((rowsShifted < 0 // all columns - && - thisRangeAddress.FirstAddress.ColumnNumber >= shiftedRange.RangeAddress.FirstAddress.ColumnNumber + && thisRangeAddress.FirstAddress.ColumnNumber >= shiftedRange.RangeAddress.FirstAddress.ColumnNumber && thisRangeAddress.LastAddress.ColumnNumber <= shiftedRange.RangeAddress.FirstAddress.ColumnNumber // all rows && thisRangeAddress.FirstAddress.RowNumber >= shiftedRange.RangeAddress.FirstAddress.RowNumber - && - thisRangeAddress.LastAddress.RowNumber <= - shiftedRange.RangeAddress.LastAddress.RowNumber - rowsShifted + && thisRangeAddress.LastAddress.RowNumber <= shiftedRange.RangeAddress.LastAddress.RowNumber - rowsShifted ) || ( shiftedRange.RangeAddress.FirstAddress.RowNumber <= thisRangeAddress.FirstAddress.RowNumber - && - shiftedRange.RangeAddress.FirstAddress.ColumnNumber <= - thisRangeAddress.FirstAddress.ColumnNumber - && - shiftedRange.RangeAddress.LastAddress.ColumnNumber >= - thisRangeAddress.LastAddress.ColumnNumber + && shiftedRange.RangeAddress.FirstAddress.ColumnNumber <= thisRangeAddress.FirstAddress.ColumnNumber + && shiftedRange.RangeAddress.LastAddress.ColumnNumber >= thisRangeAddress.LastAddress.ColumnNumber && shiftedRange.RowCount() > - (thisRangeAddress.LastAddress.RowNumber - thisRangeAddress.FirstAddress.RowNumber + 1) - + - (thisRangeAddress.FirstAddress.RowNumber - shiftedRange.RangeAddress.FirstAddress.RowNumber))) + (thisRangeAddress.LastAddress.RowNumber - thisRangeAddress.FirstAddress.RowNumber + 1) + + (thisRangeAddress.FirstAddress.RowNumber - shiftedRange.RangeAddress.FirstAddress.RowNumber))) thisRangeAddress.IsInvalid = true; else { - if (shiftedRange.RangeAddress.FirstAddress.ColumnNumber <= - thisRangeAddress.FirstAddress.ColumnNumber - && - shiftedRange.RangeAddress.LastAddress.ColumnNumber >= thisRangeAddress.LastAddress.ColumnNumber) + if (shiftedRange.RangeAddress.FirstAddress.ColumnNumber <= thisRangeAddress.FirstAddress.ColumnNumber + && shiftedRange.RangeAddress.LastAddress.ColumnNumber >= thisRangeAddress.LastAddress.ColumnNumber) { if ( - (shiftedRange.RangeAddress.FirstAddress.RowNumber <= thisRangeAddress.FirstAddress.RowNumber && - rowsShifted > 0) - || - (shiftedRange.RangeAddress.FirstAddress.RowNumber < thisRangeAddress.FirstAddress.RowNumber && - rowsShifted < 0) + (shiftedRange.RangeAddress.FirstAddress.RowNumber <= thisRangeAddress.FirstAddress.RowNumber && rowsShifted > 0) + || (shiftedRange.RangeAddress.FirstAddress.RowNumber < thisRangeAddress.FirstAddress.RowNumber && rowsShifted < 0) ) { thisRangeAddress.FirstAddress = new XLAddress(Worksheet, @@ -1550,7 +1544,7 @@ { String columnsToSortBy = String.Empty; Int32 maxColumn = ColumnCount(); - if (maxColumn == ExcelHelper.MaxColumnNumber) + if (maxColumn == XLHelper.MaxColumnNumber) maxColumn = LastCellUsed(true).Address.ColumnNumber; for (int i = 1; i <= maxColumn; i++) { @@ -1571,7 +1565,7 @@ { columnsToSortBy = String.Empty; Int32 maxColumn = ColumnCount(); - if (maxColumn == ExcelHelper.MaxColumnNumber) + if (maxColumn == XLHelper.MaxColumnNumber) maxColumn = LastCellUsed(true).Address.ColumnNumber; for (int i = 1; i <= maxColumn; i++) { @@ -1598,7 +1592,7 @@ Int32 co; if (!Int32.TryParse(coString, out co)) - co = ExcelHelper.GetColumnNumberFromLetter(coString); + co = XLHelper.GetColumnNumberFromLetter(coString); SortColumns.Add(co, String.Compare(order, "ASC", true) == 0 ? XLSortOrder.Ascending : XLSortOrder.Descending, ignoreBlanks, matchCase); } @@ -1616,7 +1610,7 @@ { SortRows.Clear(); Int32 maxColumn = ColumnCount(); - if (maxColumn == ExcelHelper.MaxColumnNumber) + if (maxColumn == XLHelper.MaxColumnNumber) maxColumn = LastCellUsed(true).Address.ColumnNumber; for (int i = 1; i <= maxColumn; i++) @@ -1634,7 +1628,7 @@ private void SortRangeRows() { Int32 maxRow = RowCount(); - if (maxRow == ExcelHelper.MaxRowNumber) + if (maxRow == XLHelper.MaxRowNumber) maxRow = LastCellUsed(true).Address.RowNumber; SortingRangeRows(1, maxRow); } @@ -1699,7 +1693,7 @@ private void SortRangeColumns() { Int32 maxColumn = ColumnCount(); - if (maxColumn == ExcelHelper.MaxColumnNumber) + if (maxColumn == XLHelper.MaxColumnNumber) maxColumn = LastCellUsed(true).Address.ColumnNumber; SortingRangeColumns(1, maxColumn); } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs index 50c6bd7..3ecd2fe 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs @@ -82,11 +82,11 @@ base.CopyTo(target); int lastRowNumber = target.Address.RowNumber + RowCount() - 1; - if (lastRowNumber > ExcelHelper.MaxRowNumber) - lastRowNumber = ExcelHelper.MaxRowNumber; + if (lastRowNumber > XLHelper.MaxRowNumber) + lastRowNumber = XLHelper.MaxRowNumber; int lastColumnNumber = target.Address.ColumnNumber + ColumnCount() - 1; - if (lastColumnNumber > ExcelHelper.MaxColumnNumber) - lastColumnNumber = ExcelHelper.MaxColumnNumber; + if (lastColumnNumber > XLHelper.MaxColumnNumber) + lastColumnNumber = XLHelper.MaxColumnNumber; return target.Worksheet.Range( target.Address.RowNumber, @@ -101,11 +101,11 @@ base.CopyTo(target); int lastRowNumber = target.RangeAddress.FirstAddress.RowNumber + RowCount() - 1; - if (lastRowNumber > ExcelHelper.MaxRowNumber) - lastRowNumber = ExcelHelper.MaxRowNumber; + if (lastRowNumber > XLHelper.MaxRowNumber) + lastRowNumber = XLHelper.MaxRowNumber; int lastColumnNumber = target.RangeAddress.FirstAddress.ColumnNumber + ColumnCount() - 1; - if (lastColumnNumber > ExcelHelper.MaxColumnNumber) - lastColumnNumber = ExcelHelper.MaxColumnNumber; + if (lastColumnNumber > XLHelper.MaxColumnNumber) + lastColumnNumber = XLHelper.MaxColumnNumber; return target.Worksheet.Range( target.RangeAddress.FirstAddress.RowNumber, diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeParameters.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeParameters.cs index 353a3fc..f86d3ac 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeParameters.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeParameters.cs @@ -7,7 +7,7 @@ public XLRangeParameters(XLRangeAddress rangeAddress, IXLStyle defaultStyle) { RangeAddress = rangeAddress; - + _ignoreEvents = !rangeAddress.Worksheet.EventTrackingEnabled; DefaultStyle = defaultStyle; } @@ -18,7 +18,15 @@ public XLRangeAddress RangeAddress { get; private set; } public IXLStyle DefaultStyle { get; private set; } - public bool IgnoreEvents { get; set; } + private bool _ignoreEvents; + public bool IgnoreEvents + { + get { return _ignoreEvents; } + set + { + _ignoreEvents = value; + } + } #endregion } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs index 0a51e4f..7aab510 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs @@ -12,8 +12,11 @@ { RangeParameters = rangeParameters; if (quickLoad) return; - SubscribeToShiftedRows((range, rowsShifted) => WorksheetRangeShiftedRows(range, rowsShifted)); - SubscribeToShiftedColumns((range, columnsShifted) => WorksheetRangeShiftedColumns(range, columnsShifted)); + if (!RangeParameters.IgnoreEvents) + { + SubscribeToShiftedRows((range, rowsShifted) => WorksheetRangeShiftedRows(range, rowsShifted)); + SubscribeToShiftedColumns((range, columnsShifted) => WorksheetRangeShiftedColumns(range, columnsShifted)); + } SetStyle(rangeParameters.DefaultStyle); } @@ -75,8 +78,8 @@ public IXLCells Cells(string firstColumn, string lastColumn) { - return Cells(ExcelHelper.GetColumnNumberFromLetter(firstColumn) + ":" - + ExcelHelper.GetColumnNumberFromLetter(lastColumn)); + return Cells(XLHelper.GetColumnNumberFromLetter(firstColumn) + ":" + + XLHelper.GetColumnNumberFromLetter(lastColumn)); } public int CellCount() @@ -100,11 +103,11 @@ base.CopyTo(target); int lastRowNumber = target.Address.RowNumber + RowCount() - 1; - if (lastRowNumber > ExcelHelper.MaxRowNumber) - lastRowNumber = ExcelHelper.MaxRowNumber; + if (lastRowNumber > XLHelper.MaxRowNumber) + lastRowNumber = XLHelper.MaxRowNumber; int lastColumnNumber = target.Address.ColumnNumber + ColumnCount() - 1; - if (lastColumnNumber > ExcelHelper.MaxColumnNumber) - lastColumnNumber = ExcelHelper.MaxColumnNumber; + if (lastColumnNumber > XLHelper.MaxColumnNumber) + lastColumnNumber = XLHelper.MaxColumnNumber; return target.Worksheet.Range( target.Address.RowNumber, @@ -118,11 +121,11 @@ { base.CopyTo(target); int lastRowNumber = target.RangeAddress.FirstAddress.RowNumber + RowCount() - 1; - if (lastRowNumber > ExcelHelper.MaxRowNumber) - lastRowNumber = ExcelHelper.MaxRowNumber; + if (lastRowNumber > XLHelper.MaxRowNumber) + lastRowNumber = XLHelper.MaxRowNumber; int lastColumnNumber = target.RangeAddress.LastAddress.ColumnNumber + ColumnCount() - 1; - if (lastColumnNumber > ExcelHelper.MaxColumnNumber) - lastColumnNumber = ExcelHelper.MaxColumnNumber; + if (lastColumnNumber > XLHelper.MaxColumnNumber) + lastColumnNumber = XLHelper.MaxColumnNumber; return target.Worksheet.Range( target.RangeAddress.FirstAddress.RowNumber, diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs index 27f62c8..5ede560 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs @@ -19,7 +19,7 @@ public XLRow(Int32 row, XLRowParameters xlRowParameters) : base(new XLRangeAddress(new XLAddress(xlRowParameters.Worksheet, row, 1, false, false), - new XLAddress(xlRowParameters.Worksheet, row, ExcelHelper.MaxColumnNumber, false, + new XLAddress(xlRowParameters.Worksheet, row, XLHelper.MaxColumnNumber, false, false))) { SetRowNumber(row); @@ -36,7 +36,7 @@ public XLRow(XLRow row) : base(new XLRangeAddress(new XLAddress(row.Worksheet, row.RowNumber(), 1, false, false), - new XLAddress(row.Worksheet, row.RowNumber(), ExcelHelper.MaxColumnNumber, false, + new XLAddress(row.Worksheet, row.RowNumber(), XLHelper.MaxColumnNumber, false, false))) { _height = row._height; @@ -240,13 +240,13 @@ public IXLCells Cells(String firstColumn, String lastColumn) { - return Cells(ExcelHelper.GetColumnNumberFromLetter(firstColumn) + ":" - + ExcelHelper.GetColumnNumberFromLetter(lastColumn)); + return Cells(XLHelper.GetColumnNumberFromLetter(firstColumn) + ":" + + XLHelper.GetColumnNumberFromLetter(lastColumn)); } public IXLRow AdjustToContents(Int32 startColumn) { - return AdjustToContents(startColumn, ExcelHelper.MaxColumnNumber); + return AdjustToContents(startColumn, XLHelper.MaxColumnNumber); } public IXLRow AdjustToContents(Int32 startColumn, Int32 endColumn) @@ -256,12 +256,12 @@ public IXLRow AdjustToContents(Double minHeight, Double maxHeight) { - return AdjustToContents(1, ExcelHelper.MaxColumnNumber, minHeight, maxHeight); + return AdjustToContents(1, XLHelper.MaxColumnNumber, minHeight, maxHeight); } public IXLRow AdjustToContents(Int32 startColumn, Double minHeight, Double maxHeight) { - return AdjustToContents(startColumn, ExcelHelper.MaxColumnNumber, minHeight, maxHeight); + return AdjustToContents(startColumn, XLHelper.MaxColumnNumber, minHeight, maxHeight); } public IXLRow AdjustToContents(Int32 startColumn, Int32 endColumn, Double minHeight, Double maxHeight) @@ -568,7 +568,7 @@ public override XLRange AsRange() { - return Range(1, 1, 1, ExcelHelper.MaxColumnNumber); + return Range(1, 1, 1, XLHelper.MaxColumnNumber); } private void WorksheetRangeShiftedRows(XLRange range, int rowsShifted) @@ -587,7 +587,7 @@ RangeAddress.FirstAddress.FixedColumn); RangeAddress.LastAddress = new XLAddress(Worksheet, row, - ExcelHelper.MaxColumnNumber, + XLHelper.MaxColumnNumber, RangeAddress.LastAddress.FixedRow, RangeAddress.LastAddress.FixedColumn); } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRowCollection.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRowCollection.cs index 644dcac..96be962 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRowCollection.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRowCollection.cs @@ -130,7 +130,7 @@ { var rowToMove = _dictionary[ro]; Int32 newRowNum = ro + rowsToShift; - if (newRowNum <= ExcelHelper.MaxRowNumber) + if (newRowNum <= XLHelper.MaxRowNumber) { var newRow = new XLRow(rowToMove) { @@ -138,7 +138,7 @@ { FirstAddress = new XLAddress(newRowNum, 1, false, false), LastAddress = - new XLAddress(newRowNum, ExcelHelper.MaxColumnNumber, false, false) + new XLAddress(newRowNum, XLHelper.MaxColumnNumber, false, false) } }; _dictionary.Add(newRowNum, newRow); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Style/Colors/XLColor_Public.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Style/Colors/XLColor_Public.cs index b578bba..870443d 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Style/Colors/XLColor_Public.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Style/Colors/XLColor_Public.cs @@ -87,7 +87,7 @@ if (_colorType == XLColorType.Theme) { return _themeColor == otherC._themeColor - && Math.Abs(_themeTint - otherC._themeTint) < ExcelHelper.Epsilon; + && Math.Abs(_themeTint - otherC._themeTint) < XLHelper.Epsilon; } return _indexed == otherC._indexed; } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs index 9c6bdc5..2941853 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs @@ -20,7 +20,7 @@ #region Constructor public XLTable(XLRange range, Boolean addToTables, Boolean setAutofilter = true) - : base(range.RangeParameters) + : base(new XLRangeParameters(range.RangeAddress, range.Style )) { InitializeValues(setAutofilter); @@ -39,7 +39,7 @@ } public XLTable(XLRange range, String name, Boolean addToTables, Boolean setAutofilter = true) - : base(range.RangeParameters) + : base(new XLRangeParameters(range.RangeAddress, range.Style)) { InitializeValues(setAutofilter); @@ -55,9 +55,24 @@ { get { - var range = _showTotalsRow - ? Range(2, 1, RowCount() - 1, ColumnCount()) - : Range(2, 1, RowCount(), ColumnCount()); + XLRange range; + //var ws = Worksheet; + //var tracking = ws.EventTrackingEnabled; + //ws.EventTrackingEnabled = false; + + if (_showHeaderRow) + { + range = _showTotalsRow + ? Range(2, 1,RowCount() - 1,ColumnCount()) + : Range(2, 1, RowCount(), ColumnCount()); + } + else + { + range = _showTotalsRow + ? Range(1, 1, RowCount() - 1, ColumnCount()) + : Range(1, 1, RowCount(), ColumnCount()); + } + //ws.EventTrackingEnabled = tracking; return new XLTableRange(range, this); } } @@ -332,6 +347,7 @@ Worksheet.Tables.Add(this); } + private String GetUniqueName(String originalName) { String name = originalName; @@ -396,29 +412,48 @@ } _uniqueNames.ForEach(n=>AddField(n)); headersRow.Clear(); - + RangeAddress.FirstAddress = new XLAddress(Worksheet, RangeAddress.FirstAddress.RowNumber + 1, + RangeAddress.FirstAddress.ColumnNumber, + RangeAddress.FirstAddress.FixedRow, + RangeAddress.FirstAddress.FixedColumn); } else { - using(var asRange = AsRange()) + using(var asRange = Worksheet.Range( + RangeAddress.FirstAddress.RowNumber - 1 , + RangeAddress.FirstAddress.ColumnNumber, + RangeAddress.LastAddress.RowNumber, + RangeAddress.LastAddress.ColumnNumber + )) using (var firstRow = asRange.FirstRow()) { IXLRangeRow rangeRow; if (firstRow.IsEmpty(true)) + { rangeRow = firstRow; + RangeAddress.FirstAddress = new XLAddress(Worksheet, + RangeAddress.FirstAddress.RowNumber - 1, + RangeAddress.FirstAddress.ColumnNumber, + RangeAddress.FirstAddress.FixedRow, + RangeAddress.FirstAddress.FixedColumn); + } else { - rangeRow = firstRow.InsertRowsBelow(1).First(); - - RangeAddress.FirstAddress = new XLAddress(Worksheet, RangeAddress.FirstAddress.RowNumber + 1, - RangeAddress.FirstAddress.ColumnNumber, - RangeAddress.FirstAddress.FixedRow, - RangeAddress.FirstAddress.FixedColumn); + var fAddress = RangeAddress.FirstAddress; + var lAddress = RangeAddress.LastAddress; - RangeAddress.LastAddress = new XLAddress(Worksheet, RangeAddress.LastAddress.RowNumber, - RangeAddress.LastAddress.ColumnNumber, - RangeAddress.LastAddress.FixedRow, - RangeAddress.LastAddress.FixedColumn); + rangeRow = firstRow.InsertRowsBelow(1, false).First(); + + + RangeAddress.FirstAddress = new XLAddress(Worksheet, fAddress.RowNumber, + fAddress.ColumnNumber, + fAddress.FixedRow, + fAddress.FixedColumn); + + RangeAddress.LastAddress = new XLAddress(Worksheet, lAddress.RowNumber + 1, + lAddress.ColumnNumber, + lAddress.FixedRow, + lAddress.FixedColumn); } Int32 co = 1; diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRange.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRange.cs index 5c638f7..39d5289 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRange.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRange.cs @@ -128,10 +128,10 @@ } public new XLTableRow Row(int row) { - if (row <= 0 || row > ExcelHelper.MaxRowNumber) + if (row <= 0 || row > XLHelper.MaxRowNumber) { throw new IndexOutOfRangeException(String.Format("Row number must be between 1 and {0}", - ExcelHelper.MaxRowNumber)); + XLHelper.MaxRowNumber)); } return new XLTableRow(this, base.Row(row)); @@ -172,7 +172,7 @@ String lastRow; if (tPair.Contains(':') || tPair.Contains('-')) { - var rowRange = ExcelHelper.SplitRange(tPair); + var rowRange = XLHelper.SplitRange(tPair); firstRow = rowRange[0]; lastRow = rowRange[1]; @@ -223,26 +223,19 @@ public new IXLTableRows InsertRowsAbove(int numberOfRows) { - var rows = new XLTableRows(Worksheet.Style); - var inserted = base.InsertRowsAbove(numberOfRows); - inserted.ForEach(r => rows.Add(new XLTableRow(this, r as XLRangeRow))); - _table.ExpandTableRows(numberOfRows); - return rows; + return XLHelper.InsertRowsWithoutEvents(base.InsertRowsAbove, this, numberOfRows, !Table.ShowTotalsRow ); } public new IXLTableRows InsertRowsBelow(int numberOfRows) { - var rows = new XLTableRows(Worksheet.Style); - var inserted = base.InsertRowsBelow(numberOfRows); - inserted.ForEach(r => rows.Add(new XLTableRow(this, r as XLRangeRow))); - _table.ExpandTableRows(numberOfRows); - return rows; + return XLHelper.InsertRowsWithoutEvents(base.InsertRowsBelow, this, numberOfRows, !Table.ShowTotalsRow); } + public new IXLRangeColumn Column(String column) { - if (ExcelHelper.IsValidColumn(column)) + if (XLHelper.IsValidColumn(column)) { - Int32 coNum = ExcelHelper.GetColumnNumberFromLetter(column); + Int32 coNum = XLHelper.GetColumnNumberFromLetter(column); return coNum > ColumnCount() ? Column(_table.GetFieldIndex(column) + 1) : Column(coNum); } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRow.cs index 7c82944..9fbd73c 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRow.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTableRow.cs @@ -9,7 +9,6 @@ public XLTableRow(XLTableRange tableRange, XLRangeRow rangeRow) : base(rangeRow.RangeParameters, false) { - Dispose(); _tableRange = tableRange; } @@ -100,19 +99,11 @@ public new IXLTableRows InsertRowsAbove(int numberOfRows) { - var rows = new XLTableRows(Worksheet.Style); - var inserted = base.InsertRowsAbove(numberOfRows); - inserted.ForEach(r => rows.Add(new XLTableRow(_tableRange, r as XLRangeRow))); - _tableRange.Table.ExpandTableRows(numberOfRows); - return rows; + return XLHelper.InsertRowsWithoutEvents(base.InsertRowsAbove, _tableRange, numberOfRows, !_tableRange.Table.ShowTotalsRow); } public new IXLTableRows InsertRowsBelow(int numberOfRows) { - var rows = new XLTableRows(Worksheet.Style); - var inserted = base.InsertRowsBelow(numberOfRows); - inserted.ForEach(r => rows.Add(new XLTableRow(_tableRange, r as XLRangeRow))); - _tableRange.Table.ExpandTableRows(numberOfRows); - return rows; + return XLHelper.InsertRowsWithoutEvents(base.InsertRowsBelow, _tableRange, numberOfRows, !_tableRange.Table.ShowTotalsRow); } public new void Delete() diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs index 377f058..f7a65b6 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs @@ -171,10 +171,7 @@ private readonly Dictionary _stylesById = new Dictionary(); private readonly Dictionary _stylesByStyle = new Dictionary(); - private readonly XLEventTracking _eventTracking; - - public XLEventTracking EventTracking { get { return _eventTracking; } } - + public XLEventTracking EventTracking { get; set; } internal Int32 GetStyleId(IXLStyle style) { @@ -528,7 +525,7 @@ } public XLWorkbook(XLEventTracking eventTracking) { - _eventTracking = eventTracking; + EventTracking = eventTracking; DefaultRowHeight = 15; DefaultColumnWidth = 8.43; Style = new XLStyle(null, DefaultStyle); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs index 553f52d..59408bc 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs @@ -931,7 +931,7 @@ if (columns == null) return; var wsDefaultColumn = - columns.Elements().Where(c => c.Max == ExcelHelper.MaxColumnNumber).FirstOrDefault(); + columns.Elements().Where(c => c.Max == XLHelper.MaxColumnNumber).FirstOrDefault(); if (wsDefaultColumn != null && wsDefaultColumn.Width != null) ws.ColumnWidth = wsDefaultColumn.Width - ColumnWidthOffset; @@ -945,7 +945,7 @@ foreach (Column col in columns.Elements()) { //IXLStylized toApply; - if (col.Max == ExcelHelper.MaxColumnNumber) continue; + if (col.Max == XLHelper.MaxColumnNumber) continue; var xlColumns = (XLColumns) ws.Columns(col.Min, col.Max); if (col.Width != null) diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs index b0ef824..daa26ba 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs @@ -601,8 +601,8 @@ int minColumn = worksheet.PageSetup.FirstColumnToRepeatAtLeft; int maxColumn = worksheet.PageSetup.LastColumnToRepeatAtLeft; definedNameTextColumn = "'" + worksheet.Name + "'!" + - ExcelHelper.GetColumnLetterFromNumber(minColumn) - + ":" + ExcelHelper.GetColumnLetterFromNumber(maxColumn); + XLHelper.GetColumnLetterFromNumber(minColumn) + + ":" + XLHelper.GetColumnLetterFromNumber(maxColumn); } string titles; @@ -2451,7 +2451,7 @@ { maxColumn = xlWorksheet.Internals.CellsCollection.MaxColumnUsed; Int32 maxRow = xlWorksheet.Internals.CellsCollection.MaxRowUsed; - sheetDimensionReference = "A1:" + ExcelHelper.GetColumnLetterFromNumber(maxColumn) + + sheetDimensionReference = "A1:" + XLHelper.GetColumnLetterFromNumber(maxColumn) + maxRow.ToStringLookup(); } @@ -2545,7 +2545,7 @@ pane.HorizontalSplit = hSplit; pane.VerticalSplit = ySplit; - pane.TopLeftCell = ExcelHelper.GetColumnLetterFromNumber(xlWorksheet.SheetView.SplitColumn + 1) + pane.TopLeftCell = XLHelper.GetColumnLetterFromNumber(xlWorksheet.SheetView.SplitColumn + 1) + (xlWorksheet.SheetView.SplitRow + 1); if (hSplit == 0 && ySplit == 0) @@ -2705,12 +2705,12 @@ maxInColumnsCollection = (Int32)col.Max.Value; } - if (maxInColumnsCollection < ExcelHelper.MaxColumnNumber && !xlWorksheet.Style.Equals(DefaultStyle)) + if (maxInColumnsCollection < XLHelper.MaxColumnNumber && !xlWorksheet.Style.Equals(DefaultStyle)) { var column = new Column { Min = (UInt32)(maxInColumnsCollection + 1), - Max = (UInt32)(ExcelHelper.MaxColumnNumber), + Max = (UInt32)(XLHelper.MaxColumnNumber), Style = worksheetStyleId, Width = worksheetColumnWidth, CustomWidth = true @@ -2826,7 +2826,7 @@ foreach (XLSheetPoint c in xlWorksheet.Internals.CellsCollection.Deleted.ToList()) { - String key = ExcelHelper.GetColumnLetterFromNumber(c.Column) + c.Row.ToStringLookup(); + String key = XLHelper.GetColumnLetterFromNumber(c.Column) + c.Row.ToStringLookup(); if (!cellsByReference.ContainsKey(key)) continue; row.RemoveChild(cellsByReference[key]); xlWorksheet.Internals.CellsCollection.Deleted.Remove(c); @@ -2854,7 +2854,7 @@ row.AppendChild(cell); else { - Int32 newColumn = ExcelHelper.GetColumnNumberFromAddress1(cellReference); + Int32 newColumn = XLHelper.GetColumnNumberFromAddress1(cellReference); Cell cellBeforeInsert = null; Int32 lastCo = Int32.MaxValue; @@ -2862,9 +2862,9 @@ Cell c in row.Elements().Where( c => - ExcelHelper.GetColumnNumberFromAddress1(c.CellReference.Value) > newColumn)) + XLHelper.GetColumnNumberFromAddress1(c.CellReference.Value) > newColumn)) { - int thidCo = ExcelHelper.GetColumnNumberFromAddress1(c.CellReference.Value); + int thidCo = XLHelper.GetColumnNumberFromAddress1(c.CellReference.Value); if (lastCo <= thidCo) continue; @@ -3987,7 +3987,7 @@ if (pt.ItemsToRetainPerField == XLItemsToRetain.None) pivotCacheDefinition.MissingItemsLimit = 0U; else if (pt.ItemsToRetainPerField == XLItemsToRetain.Max) - pivotCacheDefinition.MissingItemsLimit = ExcelHelper.MaxRowNumber; + pivotCacheDefinition.MissingItemsLimit = XLHelper.MaxRowNumber; pivotCacheDefinition.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs index bed215c..e99996a 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs @@ -31,7 +31,7 @@ private Double _rowHeight; private Boolean _tabActive; - internal readonly Boolean EventTrackingEnabled; + internal Boolean EventTrackingEnabled; #endregion #region Constructor @@ -39,8 +39,8 @@ public XLWorksheet(String sheetName, XLWorkbook workbook) : base( new XLRangeAddress( - new XLAddress(null, ExcelHelper.MinRowNumber, ExcelHelper.MinColumnNumber, false, false), - new XLAddress(null, ExcelHelper.MaxRowNumber, ExcelHelper.MaxColumnNumber, false, false))) + new XLAddress(null, XLHelper.MinRowNumber, XLHelper.MinColumnNumber, false, false), + new XLAddress(null, XLHelper.MaxRowNumber, XLHelper.MaxColumnNumber, false, false))) { EventTrackingEnabled = workbook.EventTracking == XLEventTracking.Enabled; RangeAddress.Worksheet = this; @@ -63,7 +63,7 @@ Outline = new XLOutline(workbook.Outline); _columnWidth = workbook.ColumnWidth; _rowHeight = workbook.RowHeight; - RowHeightChanged = Math.Abs(workbook.RowHeight - XLWorkbook.DefaultRowHeight) > ExcelHelper.Epsilon; + RowHeightChanged = Math.Abs(workbook.RowHeight - XLWorkbook.DefaultRowHeight) > XLHelper.Epsilon; Name = sheetName; SubscribeToShiftedRows(WorksheetRangeShiftedRows); SubscribeToShiftedColumns(WorksheetRangeShiftedColumns); @@ -290,7 +290,7 @@ String lastColumn; if (tPair.Contains(':') || tPair.Contains('-')) { - var columnRange = ExcelHelper.SplitRange(tPair); + var columnRange = XLHelper.SplitRange(tPair); firstColumn = columnRange[0]; lastColumn = columnRange[1]; } @@ -317,8 +317,8 @@ public IXLColumns Columns(String firstColumn, String lastColumn) { - return Columns(ExcelHelper.GetColumnNumberFromLetter(firstColumn), - ExcelHelper.GetColumnNumberFromLetter(lastColumn)); + return Columns(XLHelper.GetColumnNumberFromLetter(firstColumn), + XLHelper.GetColumnNumberFromLetter(lastColumn)); } public IXLColumns Columns(Int32 firstColumn, Int32 lastColumn) @@ -357,7 +357,7 @@ String lastRow; if (tPair.Contains(':') || tPair.Contains('-')) { - var rowRange = ExcelHelper.SplitRange(tPair); + var rowRange = XLHelper.SplitRange(tPair); firstRow = rowRange[0]; lastRow = rowRange[1]; } @@ -844,7 +844,7 @@ var retVal = new XLRanges(); foreach (string rangeAddressStr in ranges.Split(',').Select(s => s.Trim())) { - if (ExcelHelper.IsValidRangeAddress(rangeAddressStr)) + if (XLHelper.IsValidRangeAddress(rangeAddressStr)) retVal.Add(Range(new XLRangeAddress(Worksheet, rangeAddressStr))); else if (NamedRanges.Any(n => String.Compare(n.Name, rangeAddressStr, true) == 0)) NamedRange(rangeAddressStr).Ranges.ForEach(retVal.Add); @@ -1006,7 +1006,7 @@ public XLColumn LastColumn() { - return Column(ExcelHelper.MaxColumnNumber); + return Column(XLHelper.MaxColumnNumber); } public XLColumn FirstColumn() @@ -1021,7 +1021,7 @@ public XLRow LastRow() { - return Row(ExcelHelper.MaxRowNumber); + return Row(XLHelper.MaxRowNumber); } public XLColumn FirstColumnUsed() @@ -1055,9 +1055,9 @@ public XLColumn Column(Int32 column) { - if (column <= 0 || column > ExcelHelper.MaxColumnNumber) + if (column <= 0 || column > XLHelper.MaxColumnNumber) throw new IndexOutOfRangeException(String.Format("Column number must be between 1 and {0}", - ExcelHelper.MaxColumnNumber)); + XLHelper.MaxColumnNumber)); Int32 thisStyleId = GetStyleId(); if (!Internals.ColumnsCollection.ContainsKey(column)) @@ -1074,12 +1074,12 @@ public IXLColumn Column(String column) { - return Column(ExcelHelper.GetColumnNumberFromLetter(column)); + return Column(XLHelper.GetColumnNumberFromLetter(column)); } public override XLRange AsRange() { - return Range(1, 1, ExcelHelper.MaxRowNumber, ExcelHelper.MaxColumnNumber); + return Range(1, 1, XLHelper.MaxRowNumber, XLHelper.MaxColumnNumber); } public void Clear() @@ -1181,9 +1181,9 @@ public XLRow Row(Int32 row, Boolean pingCells) { - if (row <= 0 || row > ExcelHelper.MaxRowNumber) + if (row <= 0 || row > XLHelper.MaxRowNumber) throw new IndexOutOfRangeException(String.Format("Row number must be between 1 and {0}", - ExcelHelper.MaxRowNumber)); + XLHelper.MaxRowNumber)); Int32 styleId; XLRow rowToUse; @@ -1231,7 +1231,7 @@ public new XLCell Cell(String cellAddressInRange) { - if (ExcelHelper.IsValidA1Address(cellAddressInRange)) + if (XLHelper.IsValidA1Address(cellAddressInRange)) return Cell(XLAddress.Create(this, cellAddressInRange)); if (NamedRanges.Any(n => String.Compare(n.Name, cellAddressInRange, true) == 0)) @@ -1251,7 +1251,7 @@ public override XLRange Range(String rangeAddressStr) { - if (ExcelHelper.IsValidRangeAddress(rangeAddressStr)) + if (XLHelper.IsValidRangeAddress(rangeAddressStr)) return Range(new XLRangeAddress(Worksheet, rangeAddressStr)); if (NamedRanges.Any(n => String.Compare(n.Name, rangeAddressStr, true) == 0)) diff --git a/ClosedXML/ClosedXML/ClosedXML/ExcelHelper.cs b/ClosedXML/ClosedXML/ClosedXML/ExcelHelper.cs index 6ba8b0c..1a3c9f1 100644 --- a/ClosedXML/ClosedXML/ClosedXML/ExcelHelper.cs +++ b/ClosedXML/ClosedXML/ClosedXML/ExcelHelper.cs @@ -12,7 +12,7 @@ /// /// Common methods /// - internal static class ExcelHelper + internal static class XLHelper { public const int MinRowNumber = 1; public const int MinColumnNumber = 1; @@ -239,5 +239,23 @@ { return Convert.ToDouble(pt) * DpiX / 72.0; } + + public static IXLTableRows InsertRowsWithoutEvents(Func insertFunc, XLTableRange tableRange, Int32 numberOfRows, Boolean expandTable) + { + var ws = tableRange.Worksheet; + var tracking = ws.EventTrackingEnabled; + ws.EventTrackingEnabled = false; + + var rows = new XLTableRows(ws.Style); + var inserted = insertFunc(numberOfRows, false); + inserted.ForEach(r => rows.Add(new XLTableRow(tableRange, r as XLRangeRow))); + + if (expandTable) + tableRange.Table.ExpandTableRows(numberOfRows); + + ws.EventTrackingEnabled = tracking; + + return rows; + } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs index c39608a..9cfc896 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs @@ -11,77 +11,77 @@ { public static void CreateAllFiles() { - new HelloWorld().Create(@"C:\Excel Files\Created\HelloWorld.xlsx"); - new BasicTable().Create(@"C:\Excel Files\Created\BasicTable.xlsx"); + new HelloWorld().Create(@"D:\Excel Files\Created\HelloWorld.xlsx"); + new BasicTable().Create(@"D:\Excel Files\Created\BasicTable.xlsx"); new StyleExamples().Create(); - new ChangingBasicTable().Create(@"C:\Excel Files\Created\BasicTable_Modified.xlsx"); - new ShiftingRanges().Create(@"C:\Excel Files\Created\ShiftingRanges.xlsx"); - new ColumnSettings().Create(@"C:\Excel Files\Created\ColumnSettings.xlsx"); - new RowSettings().Create(@"C:\Excel Files\Created\RowSettings.xlsx"); - new MergeCells().Create(@"C:\Excel Files\Created\MergedCells.xlsx"); - new InsertRows().Create(@"C:\Excel Files\Created\InsertRows.xlsx"); - new InsertColumns().Create(@"C:\Excel Files\Created\InsertColumns.xlsx"); - new ColumnCollection().Create(@"C:\Excel Files\Created\ColumnCollection.xlsx"); - new DataTypes().Create(@"C:\Excel Files\Created\DataTypes.xlsx"); - new MultipleSheets().Create(@"C:\Excel Files\Created\MultipleSheets.xlsx"); - new RowCollection().Create(@"C:\Excel Files\Created\RowCollection.xlsx"); - new DefiningRanges().Create(@"C:\Excel Files\Created\DefiningRanges.xlsx"); - new ClearingRanges().Create(@"C:\Excel Files\Created\ClearingRanges.xlsx"); - new DeletingRanges().Create(@"C:\Excel Files\Created\DeletingRanges.xlsx"); - new Margins().Create(@"C:\Excel Files\Created\Margins.xlsx"); - new Page().Create(@"C:\Excel Files\Created\Page.xlsx"); - 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 MultipleRanges().Create(@"C:\Excel Files\Created\MultipleRanges.xlsx"); - new StyleWorksheet().Create(@"C:\Excel Files\Created\StyleWorksheet.xlsx"); - new StyleRowsColumns().Create(@"C:\Excel Files\Created\StyleRowsColumns.xlsx"); - new InsertingDeletingRows().Create(@"C:\Excel Files\Created\InsertingDeletingRows.xlsx"); - new InsertingDeletingColumns().Create(@"C:\Excel Files\Created\InsertingDeletingColumns.xlsx"); - new DeletingColumns().Create(@"C:\Excel Files\Created\DeletingColumns.xlsx"); - new CellValues().Create(@"C:\Excel Files\Created\CellValues.xlsx"); - new LambdaExpressions().Create(@"C:\Excel Files\Created\LambdaExpressions.xlsx"); - new DefaultStyles().Create(@"C:\Excel Files\Created\DefaultStyles.xlsx"); - new TransposeRanges().Create(@"C:\Excel Files\Created\TransposeRanges.xlsx"); - new TransposeRangesPlus().Create(@"C:\Excel Files\Created\TransposeRangesPlus.xlsx"); - new MergeMoves().Create(@"C:\Excel Files\Created\MergedMoves.xlsx"); - new WorkbookProperties().Create(@"C:\Excel Files\Created\WorkbookProperties.xlsx"); - new AdjustToContents().Create(@"C:\Excel Files\Created\AdjustToContents.xlsx"); - new HideUnhide().Create(@"C:\Excel Files\Created\HideUnhide.xlsx"); - new Outline().Create(@"C:\Excel Files\Created\Outline.xlsx"); - new Formulas().Create(@"C:\Excel Files\Created\Formulas.xlsx"); - new Collections().Create(@"C:\Excel Files\Created\Collections.xlsx"); - new NamedRanges().Create(@"C:\Excel Files\Created\NamedRanges.xlsx"); - new CopyingRanges().Create(@"C:\Excel Files\Created\CopyingRanges.xlsx"); - new BlankCells().Create(@"C:\Excel Files\Created\BlankCells.xlsx"); - new TwoPages().Create(@"C:\Excel Files\Created\TwoPages.xlsx"); - new UsingColors().Create(@"C:\Excel Files\Created\UsingColors.xlsx"); + new ChangingBasicTable().Create(@"D:\Excel Files\Created\BasicTable_Modified.xlsx"); + new ShiftingRanges().Create(@"D:\Excel Files\Created\ShiftingRanges.xlsx"); + new ColumnSettings().Create(@"D:\Excel Files\Created\ColumnSettings.xlsx"); + new RowSettings().Create(@"D:\Excel Files\Created\RowSettings.xlsx"); + new MergeCells().Create(@"D:\Excel Files\Created\MergedCells.xlsx"); + new InsertRows().Create(@"D:\Excel Files\Created\InsertRows.xlsx"); + new InsertColumns().Create(@"D:\Excel Files\Created\InsertColumns.xlsx"); + new ColumnCollection().Create(@"D:\Excel Files\Created\ColumnCollection.xlsx"); + new DataTypes().Create(@"D:\Excel Files\Created\DataTypes.xlsx"); + new MultipleSheets().Create(@"D:\Excel Files\Created\MultipleSheets.xlsx"); + new RowCollection().Create(@"D:\Excel Files\Created\RowCollection.xlsx"); + new DefiningRanges().Create(@"D:\Excel Files\Created\DefiningRanges.xlsx"); + new ClearingRanges().Create(@"D:\Excel Files\Created\ClearingRanges.xlsx"); + new DeletingRanges().Create(@"D:\Excel Files\Created\DeletingRanges.xlsx"); + new Margins().Create(@"D:\Excel Files\Created\Margins.xlsx"); + new Page().Create(@"D:\Excel Files\Created\Page.xlsx"); + new HeaderFooters().Create(@"D:\Excel Files\Created\HeaderFooters.xlsx"); + new Sheets().Create(@"D:\Excel Files\Created\Sheets.xlsx"); + new SheetTab().Create(@"D:\Excel Files\Created\SheetTab.xlsx"); + new MultipleRanges().Create(@"D:\Excel Files\Created\MultipleRanges.xlsx"); + new StyleWorksheet().Create(@"D:\Excel Files\Created\StyleWorksheet.xlsx"); + new StyleRowsColumns().Create(@"D:\Excel Files\Created\StyleRowsColumns.xlsx"); + new InsertingDeletingRows().Create(@"D:\Excel Files\Created\InsertingDeletingRows.xlsx"); + new InsertingDeletingColumns().Create(@"D:\Excel Files\Created\InsertingDeletingColumns.xlsx"); + new DeletingColumns().Create(@"D:\Excel Files\Created\DeletingColumns.xlsx"); + new CellValues().Create(@"D:\Excel Files\Created\CellValues.xlsx"); + new LambdaExpressions().Create(@"D:\Excel Files\Created\LambdaExpressions.xlsx"); + new DefaultStyles().Create(@"D:\Excel Files\Created\DefaultStyles.xlsx"); + new TransposeRanges().Create(@"D:\Excel Files\Created\TransposeRanges.xlsx"); + new TransposeRangesPlus().Create(@"D:\Excel Files\Created\TransposeRangesPlus.xlsx"); + new MergeMoves().Create(@"D:\Excel Files\Created\MergedMoves.xlsx"); + new WorkbookProperties().Create(@"D:\Excel Files\Created\WorkbookProperties.xlsx"); + new AdjustToContents().Create(@"D:\Excel Files\Created\AdjustToContents.xlsx"); + new HideUnhide().Create(@"D:\Excel Files\Created\HideUnhide.xlsx"); + new Outline().Create(@"D:\Excel Files\Created\Outline.xlsx"); + new Formulas().Create(@"D:\Excel Files\Created\Formulas.xlsx"); + new Collections().Create(@"D:\Excel Files\Created\Collections.xlsx"); + new NamedRanges().Create(@"D:\Excel Files\Created\NamedRanges.xlsx"); + new CopyingRanges().Create(@"D:\Excel Files\Created\CopyingRanges.xlsx"); + new BlankCells().Create(@"D:\Excel Files\Created\BlankCells.xlsx"); + new TwoPages().Create(@"D:\Excel Files\Created\TwoPages.xlsx"); + new UsingColors().Create(@"D:\Excel Files\Created\UsingColors.xlsx"); - new ColumnCells().Create(@"C:\Excel Files\Created\ColumnCells.xlsx"); - new RowCells().Create(@"C:\Excel Files\Created\RowCells.xlsx"); - new FreezePanes().Create(@"C:\Excel Files\Created\FreezePanes.xlsx"); - new UsingTables().Create(@"C:\Excel Files\Created\UsingTables.xlsx"); - new ShowCase().Create(@"C:\Excel Files\Created\ShowCase.xlsx"); - new CopyingWorksheets().Create(@"C:\Excel Files\Created\CopyingWorksheets.xlsx"); - new InsertingTables().Create(@"C:\Excel Files\Created\InsertingTables.xlsx"); - new InsertingData().Create(@"C:\Excel Files\Created\InsertingData.xlsx"); - new Hyperlinks().Create(@"C:\Excel Files\Created\Hyperlinks.xlsx"); - new DataValidation().Create(@"C:\Excel Files\Created\DataValidation.xlsx"); - new HideSheets().Create(@"C:\Excel Files\Created\HideSheets.xlsx"); - new SheetProtection().Create(@"C:\Excel Files\Created\SheetProtection.xlsx"); - new AutoFilter().Create(@"C:\Excel Files\Created\AutoFilter.xlsx"); - new Sorting().Create(@"C:\Excel Files\Created\Sorting.xlsx"); - new SortExample().Create(@"C:\Excel Files\Created\SortExample.xlsx"); - new AddingDataSet().Create(@"C:\Excel Files\Created\AddingDataSet.xlsx"); - new AddingDataTableAsWorksheet().Create(@"C:\Excel Files\Created\AddingDataTableAsWorksheet.xlsx"); - new TabColors().Create(@"C:\Excel Files\Created\TabColors.xlsx"); - new ShiftingFormulas().Create(@"C:\Excel Files\Created\ShiftingFormulas.xlsx"); - new CopyingRowsAndColumns().Create(@"C:\Excel Files\Created\CopyingRowsAndColumns.xlsx"); - new UsingRichText().Create(@"C:\Excel Files\Created\UsingRichText.xlsx"); - new UsingPhonetics().Create(@"C:\Excel Files\Created\UsingPhonetics.xlsx"); - new WalkingRanges().Create(@"C:\Excel Files\Created\CellMoves.xlsx"); - new AddingComments().Create(@"C:\Excel Files\Created\AddingComments.xlsx"); + new ColumnCells().Create(@"D:\Excel Files\Created\ColumnCells.xlsx"); + new RowCells().Create(@"D:\Excel Files\Created\RowCells.xlsx"); + new FreezePanes().Create(@"D:\Excel Files\Created\FreezePanes.xlsx"); + new UsingTables().Create(@"D:\Excel Files\Created\UsingTables.xlsx"); + new ShowCase().Create(@"D:\Excel Files\Created\ShowCase.xlsx"); + new CopyingWorksheets().Create(@"D:\Excel Files\Created\CopyingWorksheets.xlsx"); + new InsertingTables().Create(@"D:\Excel Files\Created\InsertingTables.xlsx"); + new InsertingData().Create(@"D:\Excel Files\Created\InsertingData.xlsx"); + new Hyperlinks().Create(@"D:\Excel Files\Created\Hyperlinks.xlsx"); + new DataValidation().Create(@"D:\Excel Files\Created\DataValidation.xlsx"); + new HideSheets().Create(@"D:\Excel Files\Created\HideSheets.xlsx"); + new SheetProtection().Create(@"D:\Excel Files\Created\SheetProtection.xlsx"); + new AutoFilter().Create(@"D:\Excel Files\Created\AutoFilter.xlsx"); + new Sorting().Create(@"D:\Excel Files\Created\Sorting.xlsx"); + new SortExample().Create(@"D:\Excel Files\Created\SortExample.xlsx"); + new AddingDataSet().Create(@"D:\Excel Files\Created\AddingDataSet.xlsx"); + new AddingDataTableAsWorksheet().Create(@"D:\Excel Files\Created\AddingDataTableAsWorksheet.xlsx"); + new TabColors().Create(@"D:\Excel Files\Created\TabColors.xlsx"); + new ShiftingFormulas().Create(@"D:\Excel Files\Created\ShiftingFormulas.xlsx"); + new CopyingRowsAndColumns().Create(@"D:\Excel Files\Created\CopyingRowsAndColumns.xlsx"); + new UsingRichText().Create(@"D:\Excel Files\Created\UsingRichText.xlsx"); + new UsingPhonetics().Create(@"D:\Excel Files\Created\UsingPhonetics.xlsx"); + new WalkingRanges().Create(@"D:\Excel Files\Created\CellMoves.xlsx"); + new AddingComments().Create(@"D:\Excel Files\Created\AddingComments.xlsx"); } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs index 5c3f84b..d8db0e0 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Loading/LoadFiles.cs @@ -8,8 +8,8 @@ { public static void LoadAllFiles() { - var forLoadingFolder = @"C:\Excel Files\Created"; - var forSavingFolder = @"C:\Excel Files\Modified"; + var forLoadingFolder = @"D:\Excel Files\Created"; + var forSavingFolder = @"D:\Excel Files\Modified"; foreach (var file in Directory.GetFiles(forLoadingFolder)) { diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Hyperlinks.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Hyperlinks.cs index a08d3a0..e40d32a 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Hyperlinks.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Hyperlinks.cs @@ -61,7 +61,7 @@ ws.Cell(ro, 1).Hyperlink = new XLHyperlink("Test.xlsx"); ws.Cell(++ro, 1).Value = "Link to a file - Absolute"; - ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"c:\Test.xlsx"); + ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"D:\Test.xlsx"); ws.Cell(++ro, 1).Value = "Link to a file - relative address"; ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"../Test.xlsx"); diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/ModifyFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/ModifyFiles.cs index 0e3983d..5bf3245 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/ModifyFiles.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/ModifyFiles.cs @@ -6,7 +6,7 @@ { public static void Run() { - new DeleteRows().Create(@"C:\Excel Files\Modified\DeleteRows.xlsx"); + new DeleteRows().Create(@"D:\Excel Files\Modified\DeleteRows.xlsx"); } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/UsingTables.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/UsingTables.cs index 97084ef..a29cf9b 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/UsingTables.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/UsingTables.cs @@ -26,7 +26,7 @@ range.FirstRow().Delete(); // Deleting the "Contacts" header (we don't need it for our purposes) // We want to use a theme for table, not the hard coded format of the BasicTable - range.Clear(XLClearOptions.Formats); + range.Clear(XLClearOptions.Formats); // Put back the date and number formats range.Column(4).Style.NumberFormat.NumberFormatId = 15; range.Column(5).Style.NumberFormat.Format = "$ #,##0"; diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/StyleExamples.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/StyleExamples.cs index 65b345d..afd1b40 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/StyleExamples.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/StyleExamples.cs @@ -54,11 +54,11 @@ // Public public void Create() { - new StyleFont().Create(@"C:\Excel Files\Created\styleFont.xlsx"); - new StyleFill().Create(@"C:\Excel Files\Created\styleFill.xlsx"); - new StyleBorder().Create(@"C:\Excel Files\Created\styleBorder.xlsx"); - new StyleAlignment().Create(@"C:\Excel Files\Created\styleAlignment.xlsx"); - new StyleNumberFormat().Create(@"C:\Excel Files\Created\styleNumberFormat.xlsx"); + new StyleFont().Create(@"D:\Excel Files\Created\styleFont.xlsx"); + new StyleFill().Create(@"D:\Excel Files\Created\styleFill.xlsx"); + new StyleBorder().Create(@"D:\Excel Files\Created\styleBorder.xlsx"); + new StyleAlignment().Create(@"D:\Excel Files\Created\styleAlignment.xlsx"); + new StyleNumberFormat().Create(@"D:\Excel Files\Created\styleNumberFormat.xlsx"); } // Private diff --git a/ClosedXML/ClosedXML/ClosedXML_Net3.5/ClosedXML_Net3.5.csproj b/ClosedXML/ClosedXML/ClosedXML_Net3.5/ClosedXML_Net3.5.csproj index 5aef33d..fb92392 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Net3.5/ClosedXML_Net3.5.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Net3.5/ClosedXML_Net3.5.csproj @@ -109,7 +109,9 @@ ClosedXML.snk - + + D:\Downloads\DocumentFormat.OpenXml.dll + diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj b/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj index 9f91586..6ed43c5 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj @@ -43,7 +43,9 @@ ClosedXML.snk - + + D:\Downloads\DocumentFormat.OpenXml.dll + diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/ExcelHelperTests.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/ExcelHelperTests.cs index 29082fd..fba3eaa 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/ExcelHelperTests.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/ExcelHelperTests.cs @@ -11,7 +11,7 @@ /// Summary description for UnitTest1 /// [TestClass] - public class ExcelHelperTests + public class XLHelperTests { [TestMethod] @@ -26,7 +26,7 @@ } private static void CheckColumnNumber(int column) { - Assert.AreEqual(column, ExcelHelper.GetColumnNumberFromLetter(ExcelHelper.GetColumnLetterFromNumber(column))); + Assert.AreEqual(column, XLHelper.GetColumnNumberFromLetter(XLHelper.GetColumnLetterFromNumber(column))); } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Ranges/InsertingRangesTests.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Ranges/InsertingRangesTests.cs index b9a8263..75a0f71 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Ranges/InsertingRangesTests.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Ranges/InsertingRangesTests.cs @@ -66,5 +66,22 @@ Assert.AreEqual(XLColor.Fulvous, ws.Cell(2, 4).Style.Fill.BackgroundColor); Assert.AreEqual(XLColor.MacaroniAndCheese, ws.Cell(2, 5).Style.Fill.BackgroundColor); } + + [TestMethod] + public void InsertingRowsAbove() + { + var wb = new XLWorkbook(); + var ws = wb.Worksheets.Add("Sheet"); + + ws.Cell("B3").SetValue("X") + .CellBelow().SetValue("B"); + + var r = ws.Range("B4").InsertRowsAbove(1).First(); + r.Cell(1).SetValue("A"); + + Assert.AreEqual("X", ws.Cell("B3").GetString()); + Assert.AreEqual("A", ws.Cell("B4").GetString()); + Assert.AreEqual("B", ws.Cell("B5").GetString()); + } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Tables/TablesTests.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Tables/TablesTests.cs index 3b27e00..e5f14d3 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Tables/TablesTests.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Tables/TablesTests.cs @@ -26,6 +26,8 @@ var table = ws.Tables.First(); + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox1.xlsx"); + Assert.IsTrue(ws.Cell(1,1).IsEmpty(true)); Assert.AreEqual(null, table.HeadersRow()); Assert.AreEqual("A", table.DataRange.FirstRow().Field("Categories").GetString()); @@ -38,9 +40,16 @@ Assert.AreNotEqual(null, headerRow); Assert.AreEqual("Categories", headerRow.Cell(1).GetString()); + + table.SetShowHeaderRow(false); + ws.FirstCell().SetValue("x"); + table.SetShowHeaderRow(); + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox2.xlsx"); + + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox3.xlsx"); Assert.AreEqual("x", ws.FirstCell().GetString()); Assert.AreEqual("Categories", ws.Cell("A2").GetString()); @@ -75,7 +84,7 @@ Assert.AreEqual(2, ws.Cell(3, 1).GetDouble()); Assert.AreEqual(3, ws.Cell(4, 1).GetDouble()); - //wb.SaveAs(@"C:\Excel Files\ForTesting\Sandbox.xlsx"); + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox.xlsx"); } @@ -97,11 +106,13 @@ row = table.DataRange.InsertRowsBelow(1).First(); row.Field("Value").Value = 3; + wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox.xlsx"); + Assert.AreEqual(1, ws.Cell(2, 1).GetDouble()); Assert.AreEqual(2, ws.Cell(3, 1).GetDouble()); Assert.AreEqual(3, ws.Cell(4, 1).GetDouble()); - //wb.SaveAs(@"C:\Excel Files\ForTesting\Sandbox.xlsx"); + } @@ -115,20 +126,20 @@ var table = ws.Range("A1:A2").CreateTable(); table.SetShowTotalsRow() .Field(0).TotalsRowFunction = XLTotalsRowFunction.Sum; - + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox1.xlsx"); var row = table.DataRange.FirstRow(); row.Field("Value").Value = 3; row = row.InsertRowsAbove(1).First(); row.Field("Value").Value = 2; row = row.InsertRowsAbove(1).First(); row.Field("Value").Value = 1; + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox2.xlsx"); Assert.AreEqual(1, ws.Cell(2, 1).GetDouble()); Assert.AreEqual(2, ws.Cell(3, 1).GetDouble()); Assert.AreEqual(3, ws.Cell(4, 1).GetDouble()); - //wb.SaveAs(@"C:\Excel Files\ForTesting\Sandbox.xlsx"); - + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox.xlsx"); } [TestMethod] @@ -149,11 +160,13 @@ row = table.DataRange.InsertRowsAbove(1).First(); row.Field("Value").Value = 1; + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox.xlsx"); + Assert.AreEqual(1, ws.Cell(2, 1).GetDouble()); Assert.AreEqual(2, ws.Cell(3, 1).GetDouble()); Assert.AreEqual(3, ws.Cell(4, 1).GetDouble()); - //wb.SaveAs(@"C:\Excel Files\ForTesting\Sandbox.xlsx"); + //wb.SaveAs(@"D:\Excel Files\ForTesting\Sandbox.xlsx"); } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/ExcelHelperTest.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/ExcelHelperTest.cs index e49320f..08212a0 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/ExcelHelperTest.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/ExcelHelperTest.cs @@ -7,11 +7,11 @@ /// - ///This is a test class for ExcelHelperTest and is intended - ///to contain all ExcelHelperTest Unit Tests + ///This is a test class for XLHelperTest and is intended + ///to contain all XLHelperTest Unit Tests /// [TestClass()] - public class ExcelHelperTest + public class XLHelperTest { @@ -70,19 +70,19 @@ [TestMethod()] public void IsValidColumnTest() { - Assert.AreEqual(false, ExcelHelper.IsValidColumn("")); - Assert.AreEqual(false, ExcelHelper.IsValidColumn("1")); - Assert.AreEqual(false, ExcelHelper.IsValidColumn("A1")); - Assert.AreEqual(false, ExcelHelper.IsValidColumn("AA1")); - Assert.AreEqual(true, ExcelHelper.IsValidColumn("A")); - Assert.AreEqual(true, ExcelHelper.IsValidColumn("AA")); - Assert.AreEqual(true, ExcelHelper.IsValidColumn("AAA")); - Assert.AreEqual(true, ExcelHelper.IsValidColumn("Z")); - Assert.AreEqual(true, ExcelHelper.IsValidColumn("ZZ")); - Assert.AreEqual(true, ExcelHelper.IsValidColumn("XFD")); - Assert.AreEqual(false, ExcelHelper.IsValidColumn("ZAA")); - Assert.AreEqual(false, ExcelHelper.IsValidColumn("XZA")); - Assert.AreEqual(false, ExcelHelper.IsValidColumn("XFZ")); + Assert.AreEqual(false, XLHelper.IsValidColumn("")); + Assert.AreEqual(false, XLHelper.IsValidColumn("1")); + Assert.AreEqual(false, XLHelper.IsValidColumn("A1")); + Assert.AreEqual(false, XLHelper.IsValidColumn("AA1")); + Assert.AreEqual(true, XLHelper.IsValidColumn("A")); + Assert.AreEqual(true, XLHelper.IsValidColumn("AA")); + Assert.AreEqual(true, XLHelper.IsValidColumn("AAA")); + Assert.AreEqual(true, XLHelper.IsValidColumn("Z")); + Assert.AreEqual(true, XLHelper.IsValidColumn("ZZ")); + Assert.AreEqual(true, XLHelper.IsValidColumn("XFD")); + Assert.AreEqual(false, XLHelper.IsValidColumn("ZAA")); + Assert.AreEqual(false, XLHelper.IsValidColumn("XZA")); + Assert.AreEqual(false, XLHelper.IsValidColumn("XFZ")); } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/TestHelper.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/TestHelper.cs index 16857cc..08806da 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/TestHelper.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/TestHelper.cs @@ -8,7 +8,7 @@ internal static class TestHelper { //Note: Run example tests parameters - public const string TestsOutputDirectory = @"C:\Excel Files\Tests\"; + public const string TestsOutputDirectory = @"D:\Excel Files\Tests\"; public const string ActualTestResultPostFix = ""; public static readonly string TestsExampleOutputDirectory = Path.Combine(TestsOutputDirectory, "Examples");