Initial commit of the ClosedXML library
Establishes the foundational structure, core Excel functionality, and tooling. - Implements base components for cells, ranges, columns, and rows. - Integrates a custom calculation engine with a wide range of Excel functions. - Adds comprehensive support for styling, conditional formatting, data validation, comments, pictures, and charts. - Configures build setup, project metadata (NuGet), and developer guidelines. - Includes editor and Git attributes for consistent code style and line endings.
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
using ClosedXML.Excel;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ClosedXML_Tests.Excel.Styles
|
||||
{
|
||||
[TestFixture]
|
||||
public class StyleChangeTests
|
||||
{
|
||||
[Test]
|
||||
public void ChangeFontColorDoesNotAffectOtherProperties()
|
||||
{
|
||||
using (var wb = new XLWorkbook())
|
||||
{
|
||||
// Arrange
|
||||
var ws = wb.AddWorksheet("Sheet1");
|
||||
var a1 = ws.Cell("A1");
|
||||
var a2 = ws.Cell("A2");
|
||||
var b1 = ws.Cell("B1");
|
||||
var b2 = ws.Cell("B2");
|
||||
|
||||
ws.Range("A1:B2").Value = "Test";
|
||||
|
||||
a1.Style.Fill.BackgroundColor = XLColor.Red;
|
||||
a2.Style.Fill.BackgroundColor = XLColor.Green;
|
||||
b1.Style.Fill.BackgroundColor = XLColor.Blue;
|
||||
b2.Style.Fill.BackgroundColor = XLColor.Pink;
|
||||
|
||||
a1.Style.Font.FontName = "Arial";
|
||||
a2.Style.Font.FontName = "Times New Roman";
|
||||
b1.Style.Font.FontName = "Calibri";
|
||||
b2.Style.Font.FontName = "Cambria";
|
||||
|
||||
// Act
|
||||
ws.Range("A1:B2").Style.Font.FontColor = XLColor.PowderBlue;
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual(XLColor.Red, ws.Cell("A1").Style.Fill.BackgroundColor);
|
||||
Assert.AreEqual(XLColor.Green, ws.Cell("A2").Style.Fill.BackgroundColor);
|
||||
Assert.AreEqual(XLColor.Blue, ws.Cell("B1").Style.Fill.BackgroundColor);
|
||||
Assert.AreEqual(XLColor.Pink, ws.Cell("B2").Style.Fill.BackgroundColor);
|
||||
|
||||
Assert.AreEqual("Arial", ws.Cell("A1").Style.Font.FontName);
|
||||
Assert.AreEqual("Times New Roman", ws.Cell("A2").Style.Font.FontName);
|
||||
Assert.AreEqual("Calibri", ws.Cell("B1").Style.Font.FontName);
|
||||
Assert.AreEqual("Cambria", ws.Cell("B2").Style.Font.FontName);
|
||||
|
||||
Assert.AreEqual(XLColor.PowderBlue, ws.Cell("A1").Style.Font.FontColor);
|
||||
Assert.AreEqual(XLColor.PowderBlue, ws.Cell("A2").Style.Font.FontColor);
|
||||
Assert.AreEqual(XLColor.PowderBlue, ws.Cell("B1").Style.Font.FontColor);
|
||||
Assert.AreEqual(XLColor.PowderBlue, ws.Cell("B2").Style.Font.FontColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void ChangeDetachedStyleAlignment()
|
||||
{
|
||||
var style = XLStyle.Default;
|
||||
|
||||
style.Alignment.Horizontal = XLAlignmentHorizontalValues.Justify;
|
||||
|
||||
Assert.AreEqual(XLAlignmentHorizontalValues.Justify, style.Alignment.Horizontal);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ChangeDetachedStyleBorder()
|
||||
{
|
||||
var style = XLStyle.Default;
|
||||
|
||||
style.Border.DiagonalBorder = XLBorderStyleValues.Double;
|
||||
|
||||
Assert.AreEqual(XLBorderStyleValues.Double, style.Border.DiagonalBorder);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ChangeDetachedStyleFill()
|
||||
{
|
||||
var style = XLStyle.Default;
|
||||
|
||||
style.Fill.BackgroundColor = XLColor.Red;
|
||||
|
||||
Assert.AreEqual(XLColor.Red, style.Fill.BackgroundColor);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void ChangeDetachedStyleFont()
|
||||
{
|
||||
var style = XLStyle.Default;
|
||||
|
||||
style.Font.FontSize = 50;
|
||||
|
||||
Assert.AreEqual(50, style.Font.FontSize);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void ChangeDetachedStyleNumberFormat()
|
||||
{
|
||||
var style = XLStyle.Default;
|
||||
|
||||
style.NumberFormat.Format = "YYYY";
|
||||
|
||||
Assert.AreEqual("YYYY", style.NumberFormat.Format);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ChangeDetachedStyleProtection()
|
||||
{
|
||||
var style = XLStyle.Default;
|
||||
|
||||
style.Protection.Hidden = true;
|
||||
|
||||
Assert.AreEqual(true, style.Protection.Hidden);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ChangeAttachedStyleAlignment()
|
||||
{
|
||||
using (var wb = new XLWorkbook())
|
||||
{
|
||||
var ws = wb.AddWorksheet("Sheet1");
|
||||
var a1 = ws.Cell("A1");
|
||||
|
||||
a1.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Justify;
|
||||
|
||||
Assert.AreEqual(XLAlignmentHorizontalValues.Justify, a1.Style.Alignment.Horizontal);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user