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,48 @@
using System.IO;
using ClosedXML.Excel;
namespace ClosedXML_Examples
{
public class ChangingBasicTable : IXLExample
{
public void Create(string filePath)
{
string tempFile = ExampleHelper.GetTempFilePath(filePath);
try
{
new BasicTable().Create(tempFile);
var workbook = new XLWorkbook(tempFile);
var ws = workbook.Worksheet(1);
// Change the background color of the headers
var rngHeaders = ws.Range("B3:F3");
rngHeaders.Style.Fill.BackgroundColor = XLColor.LightSalmon;
// Change the date formats
var rngDates = ws.Range("E4:E6");
rngDates.Style.DateFormat.Format = "MM/dd/yyyy";
// Change the income values to text
var rngNumbers = ws.Range("F4:F6");
foreach (var cell in rngNumbers.Cells())
{
string formattedString = cell.GetFormattedString();
cell.DataType = XLDataType.Text;
cell.Value = formattedString + " Dollars";
}
ws.Columns().AdjustToContents();
workbook.SaveAs(filePath);
}
finally
{
if (File.Exists(tempFile))
{
File.Delete(tempFile);
}
}
}
}
}
+26
View File
@@ -0,0 +1,26 @@
using System;
using System.IO;
using ClosedXML.Excel;
namespace ClosedXML_Examples
{
public class LoadFiles
{
public static void LoadAllFiles()
{
foreach (var file in Directory.GetFiles(Program.BaseCreatedDirectory))
{
var fileInfo = new FileInfo(file);
var fileName = fileInfo.Name;
LoadAndSaveFile(Path.Combine(Program.BaseCreatedDirectory, fileName), Path.Combine(Program.BaseModifiedDirectory, fileName));
}
}
private static void LoadAndSaveFile(String input, String output)
{
var wb = new XLWorkbook(input);
wb.SaveAs(output);
wb.SaveAs(output);
}
}
}