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,78 @@
|
||||
using ClosedXML.Excel;
|
||||
using NUnit.Framework;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
|
||||
namespace ClosedXML_Tests.Excel.Misc
|
||||
{
|
||||
[TestFixture]
|
||||
public class SearchTests
|
||||
{
|
||||
[Test]
|
||||
public void TestSearch()
|
||||
{
|
||||
using (var stream = TestHelper.GetStreamFromResource(TestHelper.GetResourcePath(@"Examples\Misc\CellValues.xlsx")))
|
||||
using (var wb = new XLWorkbook(stream))
|
||||
{
|
||||
var ws = wb.Worksheets.First();
|
||||
|
||||
IXLCells foundCells;
|
||||
|
||||
foundCells = ws.Search("Initial Value");
|
||||
Assert.AreEqual(1, foundCells.Count());
|
||||
Assert.AreEqual("B2", foundCells.Single().Address.ToString());
|
||||
Assert.AreEqual("Initial Value", foundCells.Single().GetString());
|
||||
|
||||
foundCells = ws.Search("Using");
|
||||
Assert.AreEqual(2, foundCells.Count());
|
||||
Assert.AreEqual("D2", foundCells.First().Address.ToString());
|
||||
Assert.AreEqual("Using Get...()", foundCells.First().GetString());
|
||||
Assert.AreEqual(2, foundCells.Count());
|
||||
Assert.AreEqual("E2", foundCells.Last().Address.ToString());
|
||||
Assert.AreEqual("Using GetValue<T>()", foundCells.Last().GetString());
|
||||
|
||||
foundCells = ws.Search("1234");
|
||||
Assert.AreEqual(4, foundCells.Count());
|
||||
Assert.AreEqual("C5,D5,E5,F5", string.Join(",", foundCells.Select(c => c.Address.ToString()).ToArray()));
|
||||
|
||||
foundCells = ws.Search("Sep");
|
||||
Assert.AreEqual(2, foundCells.Count());
|
||||
Assert.AreEqual("B3,G3", string.Join(",", foundCells.Select(c => c.Address.ToString()).ToArray()));
|
||||
|
||||
foundCells = ws.Search("1234", CompareOptions.Ordinal, true);
|
||||
Assert.AreEqual(5, foundCells.Count());
|
||||
Assert.AreEqual("B5,C5,D5,E5,F5", string.Join(",", foundCells.Select(c => c.Address.ToString()).ToArray()));
|
||||
|
||||
foundCells = ws.Search("test case", CompareOptions.Ordinal);
|
||||
Assert.AreEqual(0, foundCells.Count());
|
||||
|
||||
foundCells = ws.Search("test case", CompareOptions.OrdinalIgnoreCase);
|
||||
Assert.AreEqual(6, foundCells.Count());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSearch2()
|
||||
{
|
||||
using (var stream = TestHelper.GetStreamFromResource(TestHelper.GetResourcePath(@"Examples\Misc\Formulas.xlsx")))
|
||||
using (var wb = new XLWorkbook(stream))
|
||||
{
|
||||
var ws = wb.Worksheets.First();
|
||||
|
||||
IXLCells foundCells;
|
||||
|
||||
foundCells = ws.Search("3", CompareOptions.Ordinal);
|
||||
Assert.AreEqual(10, foundCells.Count());
|
||||
Assert.AreEqual("C2", foundCells.First().Address.ToString());
|
||||
|
||||
foundCells = ws.Search("A2", CompareOptions.Ordinal, true);
|
||||
Assert.AreEqual(6, foundCells.Count());
|
||||
Assert.AreEqual("C2,D2,B6,C6,D6,A11", string.Join(",", foundCells.Select(c => c.Address.ToString()).ToArray()));
|
||||
|
||||
foundCells = ws.Search("RC", CompareOptions.Ordinal, true);
|
||||
Assert.AreEqual(3, foundCells.Count());
|
||||
Assert.AreEqual("E2,E3,E4", string.Join(",", foundCells.Select(c => c.Address.ToString()).ToArray()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user