From 8f2015bd900fa826d3c5df8a19cf64f8b8bbac4c Mon Sep 17 00:00:00 2001 From: Kevin Frugier Date: Fri, 2 Jan 2026 15:56:55 +0100 Subject: [PATCH] Added CaseSentitive to ExcelDataTableConfiguration. This allows the creation of a primary key after case sensitive data is loaded from Excel. --- src/ExcelDataReader.DataSet/ExcelDataReaderExtensions.cs | 2 +- src/ExcelDataReader.DataSet/ExcelDataTableConfiguration.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ExcelDataReader.DataSet/ExcelDataReaderExtensions.cs b/src/ExcelDataReader.DataSet/ExcelDataReaderExtensions.cs index 1598420d..b2eaab3f 100644 --- a/src/ExcelDataReader.DataSet/ExcelDataReaderExtensions.cs +++ b/src/ExcelDataReader.DataSet/ExcelDataReaderExtensions.cs @@ -68,7 +68,7 @@ private static string GetUniqueColumnName(DataTable table, string name) private static DataTable AsDataTable(IExcelDataReader self, ExcelDataTableConfiguration configuration) { - var result = new DataTable { TableName = self.Name }; + var result = new DataTable { TableName = self.Name, CaseSensitive = configuration.CaseSentitive }; result.ExtendedProperties.Add("visiblestate", self.VisibleState); var first = true; var emptyRows = 0; diff --git a/src/ExcelDataReader.DataSet/ExcelDataTableConfiguration.cs b/src/ExcelDataReader.DataSet/ExcelDataTableConfiguration.cs index 04243d4f..f9880646 100644 --- a/src/ExcelDataReader.DataSet/ExcelDataTableConfiguration.cs +++ b/src/ExcelDataReader.DataSet/ExcelDataTableConfiguration.cs @@ -5,6 +5,11 @@ namespace ExcelDataReader; /// public class ExcelDataTableConfiguration { + /// + /// Gets or sets a value indicating whether the DataTable should be case sensitive. Useful when setting a primary key after loading from Excel. + /// + public bool CaseSentitive { get; set; } + /// /// Gets or sets a value indicating the prefix of generated column names. ///