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");
|