diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs index 8fc4fe0..defbe68 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs @@ -593,6 +593,18 @@ sheetDimensionReference = "A1:" + new XLAddress((Int32)maxRow, (Int32)maxColumn).ToString(); } + if (xlWorksheet.ColumnsCollection.Count > 0) + { + UInt32 maxColCollection = (UInt32)xlWorksheet.ColumnsCollection.Keys.Max(); + if (maxColCollection > maxColumn) maxColumn = maxColCollection; + } + + if (xlWorksheet.RowsCollection.Count > 0) + { + UInt32 maxRowCollection = (UInt32)xlWorksheet.RowsCollection.Keys.Max(); + if (maxRowCollection > maxRow) maxRow = maxRowCollection; + } + SheetDimension sheetDimension = new SheetDimension() { Reference = sheetDimensionReference }; Boolean tabSelected = xlWorksheet.Name == Worksheets.GetWorksheet(0).Name; @@ -631,7 +643,7 @@ var distinctRows = allRows.Distinct(); foreach (var distinctRow in distinctRows.OrderBy(r => r)) { - Row row = new Row() { RowIndex = (UInt32Value)(UInt32)distinctRow, Spans = new ListValue() { InnerText = "1:" + maxColumn.ToString() } }; + Row row = new Row() { RowIndex = (UInt32Value)(UInt32)distinctRow, Spans = new ListValue() { InnerText = "1:" + maxRow.ToString() } }; if (xlWorksheet.RowsCollection.ContainsKey(distinctRow)) { var thisRow = xlWorksheet.RowsCollection[distinctRow]; diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs index d526c6a..f4440a6 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs @@ -21,14 +21,12 @@ public XLWorksheet(String sheetName) { - var defaultAddress = new XLAddress(0,0); - DefaultCell = new XLCell(defaultAddress, XLWorkbook.DefaultStyle); - cellsCollection.Add(defaultAddress, DefaultCell); + Style = XLWorkbook.DefaultStyle; MergedCells = new List(); RowNumber = 1; ColumnNumber = 1; ColumnLetter = "A"; - var tmp = this.Cell(1, 1).Value; + //var tmp = this.Cell(1, 1).Value; this.Name = sheetName; } @@ -57,7 +55,6 @@ get { return new XLAddress(MaxNumberOfRows, MaxNumberOfColumns); } } - private IXLCell DefaultCell { get; set; } public Int32 RowNumber { get; private set; } public Int32 ColumnNumber { get; private set; } public String ColumnLetter { get; private set; } @@ -79,15 +76,16 @@ #region IXLStylized Members + private IXLStyle style; public IXLStyle Style { get { - return DefaultCell.Style; + return style; } set { - DefaultCell.Style = value; + style = new XLStyle(this, value); } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj index 8bf9770..34b9955 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj @@ -50,6 +50,7 @@ + diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Columns/ColumnCollections.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Columns/ColumnCollections.cs new file mode 100644 index 0000000..ffe44dc --- /dev/null +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Columns/ColumnCollections.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ClosedXML.Excel; +using ClosedXML.Excel.Style; +using System.Drawing; + +namespace ClosedXML_Examples.Columns +{ + public class ColumnCollection + { + #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 ws = workbook.Worksheets.Add("Column Collection"); + + foreach (var c in ws.Range("B2:C3").Columns()) + { + c.Style.Fill.BackgroundColor = Color.Red; + } + + ws.Cell("E1").Value = "Wide 2"; + + foreach (var c in ws.Columns()) + { + c.Width = 20; + } + + workbook.SaveAs(filePath); + } + + // Private + + // Override + + + #endregion + } +} diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs index f511ee6..d16c92a 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Program.cs @@ -13,14 +13,15 @@ { static void Main(string[] args) { - new HelloWorld().Create(@"c:\HelloWorld.xlsx"); - new BasicTable().Create(@"c:\BasicTable.xlsx"); - new StyleExamples().Create(); - new ColumnSettings().Create(@"c:\ColumnSettings.xlsx"); + //new HelloWorld().Create(@"c:\HelloWorld.xlsx"); + //new BasicTable().Create(@"c:\BasicTable.xlsx"); + //new StyleExamples().Create(); + //new ColumnSettings().Create(@"c:\ColumnSettings.xlsx"); new RowSettings().Create(@"c:\RowSettings.xlsx"); - new MergeCells().Create(@"c:\MergedCells.xlsx"); - new InsertRows().Create(@"c:\InsertRows.xlsx"); - new InsertColumns().Create(@"c:\InsertColumns.xlsx"); + //new MergeCells().Create(@"c:\MergedCells.xlsx"); + //new InsertRows().Create(@"c:\InsertRows.xlsx"); + //new InsertColumns().Create(@"c:\InsertColumns.xlsx"); + //new ColumnCollection().Create(@"c:\ColumnCollection.xlsx"); } } } \ No newline at end of file