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:
Thom Lamb
2026-06-23 11:02:53 -05:00
parent 28bc05cf54
commit 2cd6df6481
1092 changed files with 97270 additions and 408 deletions
@@ -0,0 +1,41 @@
using System.IO;
using ClosedXML.Excel;
namespace ClosedXML_Examples.Delete
{
public class DeleteFewWorksheets:IXLExample
{
public void Create(string filePath)
{
string tempFile = ExampleHelper.GetTempFilePath(filePath);
try
{
//Note: Prepare
{
var workbook = new XLWorkbook();
workbook.Worksheets.Add("1");
workbook.Worksheets.Add("2");
workbook.Worksheets.Add("3");
workbook.Worksheets.Add("4");
workbook.SaveAs(tempFile);
}
//Note: Delate few worksheet
{
var workbook = new XLWorkbook(tempFile);
workbook.Worksheets.Delete("1");
workbook.Worksheets.Delete("2");
workbook.SaveAs(filePath);
}
}
finally
{
if (File.Exists(tempFile))
{
File.Delete(tempFile);
}
}
}
}
}
+86
View File
@@ -0,0 +1,86 @@
using System;
using System.Linq;
using ClosedXML.Excel;
namespace ClosedXML_Examples.Delete
{
public class DeleteRows : 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)
{
#region Create case
{
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Delete red rows");
// Put a value in a few cells
foreach (var r in Enumerable.Range(1, 5))
foreach (var c in Enumerable.Range(1, 5))
ws.Cell(r, c).Value = string.Format("R{0}C{1}", r, c);
var blueRow = ws.Rows(1, 2);
var redRow = ws.Row(5);
blueRow.Style.Fill.BackgroundColor = XLColor.Blue;
redRow.Style.Fill.BackgroundColor = XLColor.Red;
workbook.SaveAs(filePath);
}
#endregion
#region Remove rows
{
var workbook = new XLWorkbook(filePath);
var ws = workbook.Worksheets.Worksheet("Delete red rows");
ws.Rows(1, 2).Delete();
workbook.Save();
}
#endregion
}
// Private
// Override
#endregion
}
}