diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj index 89e925f..a962cac 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj @@ -125,6 +125,7 @@ + diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs index 1a3b8a1..50c486a 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs @@ -77,6 +77,7 @@ 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"); } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataSet.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataSet.cs index 16cb968..ad822aa 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataSet.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataSet.cs @@ -71,11 +71,11 @@ table.Columns.Add("Patient", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); - table.Rows.Add(25, "Indocin", "David", DateTime.Now); - table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); - table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); - table.Rows.Add(21, "Combivent", "Janet", DateTime.Now); - table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); + table.Rows.Add(25, "Indocin", "David", new DateTime(2000, 1, 1)); + table.Rows.Add(50, "Enebrel", "Sam", new DateTime(2000, 1, 2)); + table.Rows.Add(10, "Hydralazine", "Christoff", new DateTime(2000, 1, 3)); + table.Rows.Add(21, "Combivent", "Janet", new DateTime(2000, 1, 4)); + table.Rows.Add(100, "Dilantin", "Melanie", new DateTime(2000, 1, 5)); return table; } // Override diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataTableAsWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataTableAsWorksheet.cs index 2fe1510..cc142a0 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataTableAsWorksheet.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/AddingDataTableAsWorksheet.cs @@ -62,11 +62,11 @@ table.Columns.Add("Patient", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); - table.Rows.Add(25, "Indocin", "David", DateTime.Now); - table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); - table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); - table.Rows.Add(21, "Combivent", "Janet", DateTime.Now); - table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); + table.Rows.Add(25, "Indocin", "David", new DateTime(2000, 1, 1)); + table.Rows.Add(50, "Enebrel", "Sam", new DateTime(2000, 1, 2)); + table.Rows.Add(10, "Hydralazine", "Christoff", new DateTime(2000, 1, 3)); + table.Rows.Add(21, "Combivent", "Janet", new DateTime(2000, 1, 4)); + table.Rows.Add(100, "Dilantin", "Melanie", new DateTime(2000, 1, 5)); return table; } // Override diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Collections.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Collections.cs index b7bd51c..c97a995 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Collections.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/Collections.cs @@ -118,11 +118,11 @@ table.Columns.Add("Patient", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); - table.Rows.Add(25, "Indocin", "David", DateTime.Now); - table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); - table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); - table.Rows.Add(21, "Combivent", "Janet", DateTime.Now); - table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); + table.Rows.Add(25, "Indocin", "David", new DateTime(2000, 1, 1)); + table.Rows.Add(50, "Enebrel", "Sam", new DateTime(2000, 1, 2)); + table.Rows.Add(10, "Hydralazine", "Christoff", new DateTime(2000, 1, 3)); + table.Rows.Add(21, "Combivent", "Janet", new DateTime(2000, 1, 4)); + table.Rows.Add(100, "Dilantin", "Melanie", new DateTime(2000, 1, 5)); return table; } // Override diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/CopyingRowsAndColumns.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/CopyingRowsAndColumns.cs new file mode 100644 index 0000000..a597e35 --- /dev/null +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/CopyingRowsAndColumns.cs @@ -0,0 +1,114 @@ +using System; +using ClosedXML.Excel; + + +namespace ClosedXML_Examples.Misc +{ + public class CopyingRowsAndColumns : IXLExample + { + #region Variables + + // Public + + // Private + + + #endregion + + #region Properties + + // Public + + // Private + + // Override + + + #endregion + + #region Events + + // Public + + // Private + + // Override + + + #endregion + + #region Methods + + // Public + public void Create(String filePath) + { + var workbook = new XLWorkbook(); + + var originalSheet = workbook.Worksheets.Add("original"); + + originalSheet.Cell("A2").SetValue("test value"); + originalSheet.Range("A2:E2").Merge(); + + originalSheet.Cell("F1").SetValue("test value").Style.Alignment.SetTopToBottom(); + originalSheet.Range("F1:F6").Merge(); + + var fromRow = workbook.Worksheets.Add("From a Row"); + fromRow.Cell(1, 1).SetValue("Row to Row:"); + originalSheet.Row(2).CopyTo(fromRow.Row(2)); + fromRow.Cell(3, 1).SetValue("Row to Range:"); + originalSheet.Row(2).CopyTo(fromRow.Row(4).AsRange()); + fromRow.Cell(5, 1).SetValue("Row to Cell:"); + originalSheet.Row(2).CopyTo(fromRow.Row(6).FirstCell()); + + var fromRange = workbook.Worksheets.Add("From a Range"); + fromRange.Cell(1, 1).SetValue("Range to Row:"); + originalSheet.Row(2).AsRange().CopyTo(fromRange.Row(2)); + fromRange.Cell(3, 1).SetValue("Range to Range:"); + originalSheet.Row(2).AsRange().CopyTo(fromRange.Row(4).AsRange()); + fromRange.Cell(5, 1).SetValue("Range to Cell:"); + originalSheet.Row(2).AsRange().CopyTo(fromRange.Row(6).FirstCell()); + + CopyRowAsRange(originalSheet, 2, fromRange, 8); + + var fromColumn = workbook.Worksheets.Add("From a Column to Column"); + fromColumn.Cell(1, 1).SetValue("Column to Column:").Style.Alignment.SetTopToBottom(); + originalSheet.Column("F").CopyTo(fromColumn.Column(2)); + fromColumn.Cell(1, 3).SetValue("Column to Range:").Style.Alignment.SetTopToBottom(); + originalSheet.Column("F").CopyTo(fromColumn.Column(4).AsRange()); + fromColumn.Cell(1, 5).SetValue("Column to Cell:").Style.Alignment.SetTopToBottom(); + originalSheet.Column("F").CopyTo(fromColumn.Column(6).FirstCell()); + + var fromRangeToColumn = workbook.Worksheets.Add("From a Range to Column"); + fromRangeToColumn.Cell(1, 1).SetValue("Range to Column:").Style.Alignment.SetTopToBottom(); + originalSheet.Column("F").AsRange().CopyTo(fromRangeToColumn.Column(2)); + fromRangeToColumn.Cell(1, 3).SetValue("Range to Range:").Style.Alignment.SetTopToBottom(); + originalSheet.Column("F").AsRange().CopyTo(fromRangeToColumn.Column(4).AsRange()); + fromRangeToColumn.Cell(1, 5).SetValue("Range to Cell:").Style.Alignment.SetTopToBottom(); + originalSheet.Column("F").AsRange().CopyTo(fromRangeToColumn.Column(6).FirstCell()); + + + workbook.SaveAs(filePath); + } + + private static void CopyRowAsRange(IXLWorksheet originalSheet, int originalRowNumber, IXLWorksheet destSheet, int destRowNumber) + { + { + var destinationRow = destSheet.Row(destRowNumber); + destinationRow.Clear(); + + var originalRow = originalSheet.Row(originalRowNumber); + int columnNumber = originalRow.LastCellUsed(true).Address.ColumnNumber; + + var originalRange = originalSheet.Range(originalRowNumber, 1, originalRowNumber, columnNumber); + var destRange = destSheet.Range(destRowNumber, 1, destRowNumber, columnNumber); + originalRange.CopyTo(destRange); + } + } + // Private + + // Override + + + #endregion + } +} diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingData.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingData.cs index 67f922b..008f314 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingData.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingData.cs @@ -85,11 +85,11 @@ table.Columns.Add("Patient", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); - table.Rows.Add(25, "Indocin", "David", DateTime.Now); - table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); - table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); - table.Rows.Add(21, "Combivent", "Janet", DateTime.Now); - table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); + table.Rows.Add(25, "Indocin", "David", new DateTime(2000, 1, 1)); + table.Rows.Add(50, "Enebrel", "Sam", new DateTime(2000, 1, 2)); + table.Rows.Add(10, "Hydralazine", "Christoff", new DateTime(2000, 1, 3)); + table.Rows.Add(21, "Combivent", "Janet", new DateTime(2000, 1, 4)); + table.Rows.Add(100, "Dilantin", "Melanie", new DateTime(2000, 1, 5)); return table; } // Override diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingTables.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingTables.cs index 3be4627..0e865d1 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingTables.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/InsertingTables.cs @@ -89,11 +89,11 @@ table.Columns.Add("Patient", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); - table.Rows.Add(25, "Indocin", "David", DateTime.Now); - table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); - table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); - table.Rows.Add(21, "Combivent", "Janet", DateTime.Now); - table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); + table.Rows.Add(25, "Indocin", "David", new DateTime(2000, 1, 1)); + table.Rows.Add(50, "Enebrel", "Sam", new DateTime(2000, 1, 2)); + table.Rows.Add(10, "Hydralazine", "Christoff", new DateTime(2000, 1, 3)); + table.Rows.Add(21, "Combivent", "Janet", new DateTime(2000, 1, 4)); + table.Rows.Add(100, "Dilantin", "Melanie", new DateTime(2000, 1, 5)); return table; } // Override diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj b/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj index 16fb664..6f6c743 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj @@ -159,6 +159,13 @@ + + + + + + +