diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumn.cs
index 0c52b71..688b86d 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumn.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumn.cs
@@ -81,6 +81,9 @@
/// The row to end calculating the column width.
IXLColumn AdjustToContents(Int32 startRow, Int32 endRow);
+ IXLColumn AdjustToContents(Double minWidth, Double maxWidth);
+ IXLColumn AdjustToContents(Int32 startRow, Double minWidth, Double maxWidth);
+ IXLColumn AdjustToContents(Int32 startRow, Int32 endRow, Double minWidth, Double maxWidth);
///
/// Hides this column.
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumns.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumns.cs
index a92ed74..1ec568b 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumns.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/IXLColumns.cs
@@ -36,6 +36,10 @@
/// The row to end calculating the column width.
IXLColumns AdjustToContents(Int32 startRow, Int32 endRow);
+ IXLColumns AdjustToContents(Double minWidth, Double maxWidth);
+ IXLColumns AdjustToContents(Int32 startRow, Double minWidth, Double maxWidth);
+ IXLColumns AdjustToContents(Int32 startRow, Int32 endRow, Double minWidth, Double maxWidth);
+
///
/// Hides all columns.
///
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs
index bb2e4b3..1c2afbc 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumn.cs
@@ -295,8 +295,8 @@
}
public IXLColumn AdjustToContents(Int32 startRow, Int32 endRow)
{
- Double maxWidth = 0;
- foreach (var c in CellsUsed().Where(cell=>cell.Address.RowNumber >= startRow && cell.Address.RowNumber <= endRow))
+ Double colMaxWidth = 0;
+ foreach (var c in CellsUsed().Where(cell => cell.Address.RowNumber >= startRow && cell.Address.RowNumber <= endRow))
{
Boolean isMerged = false;
var cellAsRange = c.AsRange();
@@ -311,19 +311,59 @@
if (!isMerged)
{
var thisWidth = ((XLFont)c.Style.Font).GetWidth(c.GetFormattedString());
- if (thisWidth > maxWidth)
- maxWidth = thisWidth;
+ if (thisWidth > colMaxWidth)
+ colMaxWidth = thisWidth;
}
}
- if (maxWidth == 0)
- maxWidth = Worksheet.ColumnWidth;
+ if (colMaxWidth == 0)
+ colMaxWidth = Worksheet.ColumnWidth;
- Width = maxWidth;
+ Width = colMaxWidth;
return this;
}
+ public IXLColumn AdjustToContents(Double minWidth, Double maxWidth)
+ {
+ return AdjustToContents(1, XLWorksheet.MaxNumberOfRows, minWidth, maxWidth);
+ }
+ public IXLColumn AdjustToContents(Int32 startRow, Double minWidth, Double maxWidth)
+ {
+ return AdjustToContents(startRow, XLWorksheet.MaxNumberOfRows, minWidth, maxWidth);
+ }
+ public IXLColumn AdjustToContents(Int32 startRow, Int32 endRow, Double minWidth, Double maxWidth)
+ {
+ Double colMaxWidth = minWidth;
+ foreach (var c in CellsUsed().Where(cell => cell.Address.RowNumber >= startRow && cell.Address.RowNumber <= endRow))
+ {
+ Boolean isMerged = false;
+ var cellAsRange = c.AsRange();
+ foreach (var m in (Worksheet as XLWorksheet).Internals.MergedRanges)
+ {
+ if (cellAsRange.Intersects(m))
+ {
+ isMerged = true;
+ break;
+ }
+ }
+ if (!isMerged)
+ {
+ var thisWidth = ((XLFont)c.Style.Font).GetWidth(c.GetFormattedString());
+ if (thisWidth >= maxWidth)
+ {
+ colMaxWidth = maxWidth;
+ break;
+ }
+ else if (thisWidth > colMaxWidth)
+ colMaxWidth = thisWidth;
+ }
+ }
+
+ Width = colMaxWidth;
+ return this;
+ }
+
public void Hide()
{
IsHidden = true;
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumns.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumns.cs
index 48ee06a..c1e35e1 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumns.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Columns/XLColumns.cs
@@ -147,6 +147,22 @@
return this;
}
+ public IXLColumns AdjustToContents(Double minWidth, Double maxWidth)
+ {
+ columns.ForEach(c => c.AdjustToContents(minWidth, maxWidth));
+ return this;
+ }
+ public IXLColumns AdjustToContents(Int32 startRow, Double minWidth, Double maxWidth)
+ {
+ columns.ForEach(c => c.AdjustToContents(startRow, minWidth, maxWidth));
+ return this;
+ }
+ public IXLColumns AdjustToContents(Int32 startRow, Int32 endRow, Double minWidth, Double maxWidth)
+ {
+ columns.ForEach(c => c.AdjustToContents(startRow, endRow, minWidth, maxWidth));
+ return this;
+ }
+
public void Hide()
{
columns.ForEach(c => c.Hide());
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs
index 2111609..bf3cf56 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs
@@ -6,7 +6,7 @@
namespace ClosedXML.Excel
{
public enum XLWorksheetVisibility { Visible, Hidden, VeryHidden }
- public interface IXLWorksheet: IXLRangeBase
+ public interface IXLWorksheet : IXLRangeBase
{
XLWorkbook Workbook { get; }
@@ -292,17 +292,23 @@
//IXLCharts Charts { get; }
Boolean ShowFormulas { get; set; }
-
Boolean ShowGridLines { get; set; }
-
Boolean ShowOutlineSymbols { get; set; }
-
Boolean ShowRowColHeaders { get; set; }
-
Boolean ShowRuler { get; set; }
-
Boolean ShowWhiteSpace { get; set; }
-
Boolean ShowZeros { get; set; }
- }
+
+ IXLWorksheet SetShowFormulas(); IXLWorksheet SetShowFormulas(Boolean value);
+ IXLWorksheet SetShowGridLines(); IXLWorksheet SetShowGridLines(Boolean value);
+ IXLWorksheet SetShowOutlineSymbols(); IXLWorksheet SetShowOutlineSymbols(Boolean value);
+ IXLWorksheet SetShowRowColHeaders(); IXLWorksheet SetShowRowColHeaders(Boolean value);
+ IXLWorksheet SetShowRuler(); IXLWorksheet SetShowRuler(Boolean value);
+ IXLWorksheet SetShowWhiteSpace(); IXLWorksheet SetShowWhiteSpace(Boolean value);
+ IXLWorksheet SetShowZeros(); IXLWorksheet SetShowZeros(Boolean value);
+
+
+ IXLColor TabColor { get; set; }
+ IXLWorksheet SetTabColor(IXLColor color);
+ }
}
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRow.cs
index d2cb7fe..196dec1 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRow.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRow.cs
@@ -53,6 +53,11 @@
/// The column to end calculating the row height.
IXLRow AdjustToContents(Int32 startColumn, Int32 endColumn);
+
+ IXLRow AdjustToContents(Double minHeight, Double maxHeight);
+ IXLRow AdjustToContents(Int32 startColumn, Double minHeight, Double maxHeight);
+ IXLRow AdjustToContents(Int32 startColumn, Int32 endColumn, Double minHeight, Double maxHeight);
+
/// Hides this row.
void Hide();
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRows.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRows.cs
index 0f591d7..313c5df 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRows.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/IXLRows.cs
@@ -36,6 +36,10 @@
/// The column to end calculating the row height.
IXLRows AdjustToContents(Int32 startColumn, Int32 endColumn);
+ IXLRows AdjustToContents(Double minHeight, Double maxHeight);
+ IXLRows AdjustToContents(Int32 startColumn, Double minHeight, Double maxHeight);
+ IXLRows AdjustToContents(Int32 startColumn, Int32 endColumn, Double minHeight, Double maxHeight);
+
///
/// Hides all rows.
///
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs
index 4b6bb7c..9d1ec5d 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRow.cs
@@ -224,6 +224,46 @@
return this;
}
+ public IXLRow AdjustToContents(Double minHeight, Double maxHeight)
+ {
+ return AdjustToContents(1, XLWorksheet.MaxNumberOfColumns, minHeight, maxHeight);
+ }
+ public IXLRow AdjustToContents(Int32 startColumn, Double minHeight, Double maxHeight)
+ {
+ return AdjustToContents(startColumn, XLWorksheet.MaxNumberOfColumns, minHeight, maxHeight);
+ }
+ public IXLRow AdjustToContents(Int32 startColumn, Int32 endColumn, Double minHeight, Double maxHeight)
+ {
+ Double rowMaxHeight = 0;
+ foreach (var c in CellsUsed().Where(cell => cell.Address.ColumnNumber >= startColumn && cell.Address.ColumnNumber <= endColumn))
+ {
+ Boolean isMerged = false;
+ var cellAsRange = c.AsRange();
+ foreach (var m in (Worksheet as XLWorksheet).Internals.MergedRanges)
+ {
+ if (cellAsRange.Intersects(m))
+ {
+ isMerged = true;
+ break;
+ }
+ }
+ if (!isMerged)
+ {
+ var thisHeight = ((XLFont)c.Style.Font).GetHeight();
+ if (thisHeight >= maxHeight)
+ {
+ rowMaxHeight = maxHeight;
+ break;
+ }
+ else if (thisHeight > rowMaxHeight)
+ rowMaxHeight = thisHeight;
+ }
+ }
+
+ Height = rowMaxHeight;
+ return this;
+ }
+
public void Hide()
{
IsHidden = true;
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRows.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRows.cs
index 6e9458d..8359e42 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRows.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Rows/XLRows.cs
@@ -147,6 +147,24 @@
rows.ForEach(r => r.AdjustToContents(startColumn, endColumn));
return this;
}
+
+ public IXLRows AdjustToContents(Double minHeight, Double maxHeight)
+ {
+ rows.ForEach(r => r.AdjustToContents(minHeight, maxHeight));
+ return this;
+ }
+ public IXLRows AdjustToContents(Int32 startColumn, Double minHeight, Double maxHeight)
+ {
+ rows.ForEach(r => r.AdjustToContents(startColumn, minHeight, maxHeight));
+ return this;
+ }
+ public IXLRows AdjustToContents(Int32 startColumn, Int32 endColumn, Double minHeight, Double maxHeight)
+ {
+ rows.ForEach(r => r.AdjustToContents(startColumn, endColumn, minHeight, maxHeight));
+ return this;
+ }
+
+
public void Hide()
{
rows.ForEach(r => r.Hide());
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs
index 7148445..dfb11c4 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs
@@ -589,6 +589,9 @@
if (sheetProperties.Count() > 0)
{
var sheetProperty = (SheetProperties)sheetProperties.First();
+ if (sheetProperty.TabColor != null)
+ ws.TabColor = GetColor(sheetProperty.TabColor);
+
if (sheetProperty.OutlineProperties != null)
{
if (sheetProperty.OutlineProperties.SummaryBelow != null)
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs
index 5a69318..9976e24 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs
@@ -1501,6 +1501,22 @@
return color;
}
+ private TabColor GetTabColor(IXLColor xlColor)
+ {
+ TabColor color = new TabColor();
+ if (xlColor.ColorType == XLColorType.Color)
+ color.Rgb = xlColor.Color.ToHex();
+ else if (xlColor.ColorType == XLColorType.Indexed)
+ color.Indexed = (UInt32)xlColor.Indexed;
+ else
+ {
+ color.Theme = (UInt32)xlColor.ThemeColor;
+ if (xlColor.ThemeTint != 1)
+ color.Tint = xlColor.ThemeTint;
+ }
+ return color;
+ }
+
private bool FontsAreEqual(Font f, IXLFont xlFont)
{
var nf = new XLFont();
@@ -1595,6 +1611,12 @@
if (worksheetPart.Worksheet.SheetProperties == null)
worksheetPart.Worksheet.SheetProperties = new SheetProperties() { CodeName = xlWorksheet.Name.RemoveSpecialCharacters() };
+ if (xlWorksheet.TabColor.HasValue)
+ worksheetPart.Worksheet.SheetProperties.TabColor = GetTabColor(xlWorksheet.TabColor);
+ else
+ worksheetPart.Worksheet.SheetProperties.TabColor = null;
+
+
cm.SetElement(XLWSContentManager.XLWSContents.SheetProperties, worksheetPart.Worksheet.SheetProperties);
if (worksheetPart.Worksheet.SheetProperties.OutlineProperties == null)
@@ -2102,19 +2124,19 @@
sheetProtection.Sheet = protection.Protected;
if (!StringExtensions.IsNullOrWhiteSpace(protection.PasswordHash))
sheetProtection.Password = protection.PasswordHash;
- sheetProtection.FormatCells = protection.FormatCells;
- sheetProtection.FormatColumns = protection.FormatColumns;
- sheetProtection.FormatRows = protection.FormatRows;
- sheetProtection.InsertColumns = protection.InsertColumns;
- sheetProtection.InsertHyperlinks = protection.InsertHyperlinks;
- sheetProtection.InsertRows = protection.InsertRows;
- sheetProtection.DeleteColumns = protection.DeleteColumns;
- sheetProtection.DeleteRows = protection.DeleteRows;
- sheetProtection.AutoFilter = protection.AutoFilter;
- sheetProtection.PivotTables = protection.PivotTables;
- sheetProtection.Sort = protection.Sort;
- sheetProtection.SelectLockedCells = !protection.SelectLockedCells;
- sheetProtection.SelectUnlockedCells = !protection.SelectUnlockedCells;
+ sheetProtection.FormatCells = GetBooleanValue(!protection.FormatCells, true);
+ sheetProtection.FormatColumns = GetBooleanValue(!protection.FormatColumns, true);
+ sheetProtection.FormatRows = GetBooleanValue(!protection.FormatRows, true);
+ sheetProtection.InsertColumns = GetBooleanValue(!protection.InsertColumns, true);
+ sheetProtection.InsertHyperlinks = GetBooleanValue(!protection.InsertHyperlinks, true);
+ sheetProtection.InsertRows = GetBooleanValue(!protection.InsertRows, true);
+ sheetProtection.DeleteColumns = GetBooleanValue(!protection.DeleteColumns, true);
+ sheetProtection.DeleteRows = GetBooleanValue(!protection.DeleteRows, true);
+ sheetProtection.AutoFilter = GetBooleanValue(!protection.AutoFilter, true);
+ sheetProtection.PivotTables = GetBooleanValue(!protection.PivotTables, true);
+ sheetProtection.Sort = GetBooleanValue(!protection.Sort, true);
+ sheetProtection.SelectLockedCells = GetBooleanValue(!protection.SelectLockedCells, false);
+ sheetProtection.SelectUnlockedCells = GetBooleanValue(!protection.SelectUnlockedCells, false);
}
else
{
@@ -2495,6 +2517,14 @@
#endregion
}
+ private BooleanValue GetBooleanValue(bool value, bool defaultValue)
+ {
+ if (value == defaultValue)
+ return null;
+ else
+ return new BooleanValue(value);
+ }
+
private void CollapseColumns(Columns columns, Dictionary sheetColumns)
{
UInt32 lastMax = 1;
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs
index 0793066..8df8cd0 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs
@@ -54,6 +54,7 @@
ShowRuler = workbook.ShowRuler;
ShowWhiteSpace = workbook.ShowWhiteSpace;
ShowZeros = workbook.ShowZeros;
+ TabColor = new XLColor();
}
void XLWorksheet_RangeShiftedColumns(XLRange range, int columnsShifted)
@@ -829,5 +830,20 @@
public Boolean ShowWhiteSpace { get; set; }
public Boolean ShowZeros { get; set; }
+ public IXLWorksheet SetShowFormulas() { ShowFormulas = true; return this; } public IXLWorksheet SetShowFormulas(Boolean value) { ShowFormulas = value; return this; }
+ public IXLWorksheet SetShowGridLines() { ShowGridLines = true; return this; } public IXLWorksheet SetShowGridLines(Boolean value) { ShowGridLines = value; return this; }
+ public IXLWorksheet SetShowOutlineSymbols() { ShowOutlineSymbols = true; return this; } public IXLWorksheet SetShowOutlineSymbols(Boolean value) { ShowOutlineSymbols = value; return this; }
+ public IXLWorksheet SetShowRowColHeaders() { ShowRowColHeaders = true; return this; } public IXLWorksheet SetShowRowColHeaders(Boolean value) { ShowRowColHeaders = value; return this; }
+ public IXLWorksheet SetShowRuler() { ShowRuler = true; return this; } public IXLWorksheet SetShowRuler(Boolean value) { ShowRuler = value; return this; }
+ public IXLWorksheet SetShowWhiteSpace() { ShowWhiteSpace = true; return this; } public IXLWorksheet SetShowWhiteSpace(Boolean value) { ShowWhiteSpace = value; return this; }
+ public IXLWorksheet SetShowZeros() { ShowZeros = true; return this; } public IXLWorksheet SetShowZeros(Boolean value) { ShowZeros = value; return this; }
+
+
+ public IXLColor TabColor { get; set; }
+ public IXLWorksheet SetTabColor(IXLColor color)
+ {
+ TabColor = color;
+ return this;
+ }
}
}
diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj
index 39bfc5b..86f73af 100644
--- a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj
+++ b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj
@@ -93,6 +93,7 @@
+
diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs
index 732351c..6488243 100644
--- a/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs
+++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Creating/CreateFiles.cs
@@ -77,6 +77,7 @@
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");
}
}
}
diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/ShowCase.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/ShowCase.cs
index da5faea..ebf2e5c 100644
--- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/ShowCase.cs
+++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/ShowCase.cs
@@ -69,7 +69,7 @@
.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);
//Merge title cells
- rngTable.Row(1).Merge(); // We could've also used: rngTable.Range("A1:E1").Merge()
+ rngTable.FirstRow().Merge(); // We could've also used: rngTable.Range("A1:E1").Merge() or rngTable.Row(1).Merge()
//Formatting headers
var rngHeaders = rngTable.Range("A2:E2"); // The address is relative to rngTable (NOT the worksheet)
diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/TabColors.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/TabColors.cs
new file mode 100644
index 0000000..586f1a6
--- /dev/null
+++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/TabColors.cs
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using ClosedXML.Excel;
+
+using System.Drawing;
+
+namespace ClosedXML_Examples.Misc
+{
+ public class TabColors
+ {
+ #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 wb = new XLWorkbook();
+
+ var wsRed = wb.Worksheets.Add("Red").SetTabColor(XLColor.Red);
+
+ var wsAccent3 = wb.Worksheets.Add("Accent3").SetTabColor(XLColor.FromTheme(XLThemeColor.Accent3));
+
+ var wsIndexed = wb.Worksheets.Add("Indexed");
+ wsIndexed.TabColor = XLColor.FromIndex(24);
+
+ var wsArgb = wb.Worksheets.Add("Argb");
+ wsArgb.TabColor = XLColor.FromArgb(23, 23, 23);
+
+ wb.SaveAs(filePath);
+ }
+
+ // Private
+
+ // Override
+
+
+ #endregion
+ }
+}
diff --git a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs
index 60c7487..9beedfa 100644
--- a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs
+++ b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs
@@ -16,7 +16,7 @@
{
//var fileName = "DataValidation";
var fileName = "Sandbox";
- //var fileName = "Issue_6609";
+ //var fileName = "Issue_6706";
//var wb = new XLWorkbook(String.Format(@"c:\Excel Files\ForTesting\{0}.xlsx", fileName));
var wb = new XLWorkbook();
//var ws = wb.Worksheets.Add("Sheet1");
@@ -31,10 +31,10 @@
var ws = wb.Worksheets.Add("Sheet1");
- ws.Name = "Sheet X";
- var wsX = wb.Worksheet("Sheet X");
- wsX.Cell(1, 1).Value = "Hello";
-
+ ws.Cell(1,1).Value = "X";
+ ws.Protect()
+ .SetInsertRows()
+ .SetSelectLockedCells(false);
wb.SaveAs(String.Format(@"c:\Excel Files\ForTesting\{0}_Saved.xlsx", fileName));
//Console.ReadKey();
}