Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/Publish_Beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
# run: dotnet test --no-build --configuration Release --verbosity normal

- name: Pack
run: dotnet pack --no-build --configuration Release --version-suffix XLSB-RC1
run: dotnet pack --no-build --configuration Release --version-suffix Alpha

- name: PushGithub
run: dotnet nuget push **/*.nupkg --no-symbols --skip-duplicate --api-key ${{ secrets.GITHUB_TOKEN }}
Expand Down
14 changes: 5 additions & 9 deletions Excel_PRIME.RangeBench/GetRangeAsposeCells.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,15 @@ public bool LoadFile(string fullPath)
return true;
}

public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, int? localSheetId = null)
public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, string? sheetName = null)
{
Aspose.Cells.Range namedRange;
if (localSheetId.HasValue)
{

namedRange = !string.IsNullOrEmpty(sheetName)
//Get a specific named range in the worksheet
namedRange = _workbook.Worksheets.GetRangeByName(definedName, localSheetId.Value, false);
}
else
{
? null! //_workbook.Worksheets.GetRangeByName(definedName, sheetName, false)
//Get a specific named range in the workbook
namedRange = _workbook.Worksheets.GetRangeByName(definedName);
}
: _workbook.Worksheets.GetRangeByName(definedName);
if (namedRange != null)
{
//Get range
Expand Down
7 changes: 4 additions & 3 deletions Excel_PRIME.RangeBench/GetRangeClosedXML.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;

using ClosedXML.Excel;
Expand All @@ -22,13 +23,13 @@ public bool LoadFile(string fullPath)
return wb != null;
}

public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, int? localSheetId = null)
public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, string? sheetName = null)
{
IXLRanges rangesLocal;
// worksheet scope
if (localSheetId.HasValue)
if (sheetName != null)
{
IXLWorksheet worksheet = wb!.Worksheets.ElementAt(localSheetId.Value);
wb!.Worksheets.TryGetWorksheet(sheetName, out IXLWorksheet? worksheet);
rangesLocal = worksheet.Ranges(definedName);
}
else
Expand Down
6 changes: 3 additions & 3 deletions Excel_PRIME.RangeBench/GetRangeEPPlus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ public bool LoadFile(string fullPath)
return excelPackage != null;
}

public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, int? localSheetId = null)
public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, string? sheetName = null)
{
ExcelNamedRange? namedRange;
// worksheet scope
if (localSheetId.HasValue)
if (sheetName != null)
{
ExcelWorksheet? worksheet = excelPackage!.Workbook.Worksheets.ElementAt(localSheetId.Value);
ExcelWorksheet? worksheet = excelPackage!.Workbook.Worksheets[sheetName];
namedRange = worksheet.Names[definedName];
}
else
Expand Down
6 changes: 2 additions & 4 deletions Excel_PRIME.RangeBench/GetRangeExcelPrime.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ public bool LoadFile(string fullPath)
}


public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, int? localSheetId = null)
public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, string? sheetName = null)
{
IEnumerable<CellValue?[]> rangeRows = localSheetId.HasValue
? _workbook.GetDefinedRange(definedName, localSheetId.Value)
: _workbook.GetDefinedRange(definedName);
IEnumerable<CellValue?[]> rangeRows = _workbook.GetDefinedRange(definedName, sheetName);
foreach (CellValue?[] rangeRow in rangeRows)
{
yield return rangeRow.Select(cell => cell?.ToString());
Expand Down
6 changes: 3 additions & 3 deletions Excel_PRIME.RangeBench/GetRangeFreeSpire.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ public bool LoadFile(string fullPath)
return true;
}

public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, int? localSheetId = null)
public IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, string? sheetName = null)
{
INamedRange namedRange;
if ( localSheetId.HasValue)
if (sheetName != null)
{
//Get a specific named range in the worksheet
Worksheet sheet = book.Worksheets[localSheetId.Value];
Worksheet sheet = book.Worksheets[sheetName];
namedRange = sheet.Names.GetByName(definedName);
}
else
Expand Down
2 changes: 1 addition & 1 deletion Excel_PRIME.RangeBench/IGetRange.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ public interface IGetRange : IDisposable
{
bool LoadFile(string fullPath);

IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, int? localSheetId = null);
IEnumerable<IEnumerable<object?>> GetDefinedRange(string definedName, string? sheetName = null);

IEnumerable<IEnumerable<object?>> GetRange(string userRange, string sheetName);
}
12 changes: 6 additions & 6 deletions Excel_PRIME.RangeBench/RangeBenchmarks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ public int Access100mb(Type ranger)
//< definedName name = "DışVeri_1" localSheetId = "0" hidden = "1" > 'Worksheet (2)'!$A$1:$H$27001 </ definedName >
//< definedName name = "DışVeri_1" localSheetId = "1" hidden = "1" > 'Worksheet (3)'!$A$1:$H$4001 </ definedName >
//< definedName name = "DışVeri_2" localSheetId = "3" hidden = "1" > Worksheet!$A$952351:$H$985351 </ definedName >
IEnumerable<IEnumerable<object?>> rangeTablo3 = getRanger.GetDefinedRange("DışVeri_1", 2);
IEnumerable<IEnumerable<object?>> rangeTablo3 = getRanger.GetDefinedRange("DışVeri_1");
int cells = rangeTablo3.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> rangeWorksheet = getRanger.GetDefinedRange("DışVeri_1", 3);
IEnumerable<IEnumerable<object?>> rangeWorksheet = getRanger.GetDefinedRange("DışVeri_1");
cells += rangeWorksheet.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> rangeWorksheet2 = getRanger.GetDefinedRange("DışVeri_1", 0);
IEnumerable<IEnumerable<object?>> rangeWorksheet2 = getRanger.GetDefinedRange("DışVeri_1");
cells += rangeWorksheet2.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> rangeWorksheet3 = getRanger.GetDefinedRange("DışVeri_1", 1);
IEnumerable<IEnumerable<object?>> rangeWorksheet3 = getRanger.GetDefinedRange("DışVeri_1");
cells += rangeWorksheet3.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> rangeDışVeri_2 = getRanger.GetDefinedRange("DışVeri_2", 3);
IEnumerable<IEnumerable<object?>> rangeDışVeri_2 = getRanger.GetDefinedRange("DışVeri_2");
cells += rangeDışVeri_2.Sum(row => row.Count());

return cells;
Expand All @@ -62,7 +62,7 @@ public int AccessPivotTable(Type ranger)
getRanger.LoadFile("Data\\pivot-tables.xlsx");

//<definedName name="_xlnm._FilterDatabase" localSheetId="2" hidden="1">Sheet1!$A$1:$F$214</definedName>
IEnumerable<IEnumerable<object?>> filterDatabaseSheet = getRanger.GetDefinedRange("_xlnm._FilterDatabase", 2);
IEnumerable<IEnumerable<object?>> filterDatabaseSheet = getRanger.GetDefinedRange("_xlnm._FilterDatabase");
int cells = filterDatabaseSheet.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> filterDatabase = getRanger.GetDefinedRange("_xlnm._FilterDatabase");
cells += filterDatabase.Sum(row => row.Count());
Expand Down
4 changes: 2 additions & 2 deletions Excel_PRIME.Tests/Data/multisheet1.xlsx
Git LFS file not shown
2 changes: 1 addition & 1 deletion Excel_PRIME.Tests/DefinedRangeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void A052_ExcelPrime_PivotTable()
getRanger.LoadFile("Data\\pivot-tables.xlsx");

//<definedName name="_xlnm._FilterDatabase" localSheetId="2" hidden="1">Sheet1!$A$1:$F$214</definedName>
IEnumerable<IEnumerable<object?>> filterDatabaseSheet = getRanger.GetDefinedRange("_xlnm._FilterDatabase", 2);
IEnumerable<IEnumerable<object?>> filterDatabaseSheet = getRanger.GetDefinedRange("_xlnm._FilterDatabase");
int cells = filterDatabaseSheet.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> filterDatabase = getRanger.GetDefinedRange("_xlnm._FilterDatabase");
cells += filterDatabase.Sum(row => row.Count());
Expand Down
2 changes: 1 addition & 1 deletion Excel_PRIME.Tests/DefinedRangeTestsXlsb.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ public void A052_ExcelPrime_PivotTable()
//<definedName name="_xlnm._FilterDatabase" localSheetId="2" hidden="1">Sheet1!$A$1:$F$214</definedName>
// In the Xlsb, the `_xlnm.` portion of the name is dropped
//<definedName name="_FilterDatabase" localSheetId="2" hidden="1">Sheet1!$A$1:$F$214</definedName>
IEnumerable<IEnumerable<object?>> filterDatabaseSheet = getRanger.GetDefinedRange("_FilterDatabase", 2);
IEnumerable<IEnumerable<object?>> filterDatabaseSheet = getRanger.GetDefinedRange("_FilterDatabase");
int cells = filterDatabaseSheet.Sum(row => row.Count());
IEnumerable<IEnumerable<object?>> filterDatabase = getRanger.GetDefinedRange("_FilterDatabase");
cells += filterDatabase.Sum(row => row.Count());
Expand Down
10 changes: 4 additions & 6 deletions Excel_PRIME/DefinedRange.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
/// </summary>
/// <param name="reference">Reference string i.e. Sheet1!$A$1:$A$4</param>
/// <exception cref="ArgumentException">Thrown when reference is invalid or not supported</exception>
internal DefinedRange(in string reference)

Check warning on line 17 in Excel_PRIME/DefinedRange.cs

View workflow job for this annotation

GitHub Actions / build

Non-nullable property 'Name' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.
{
ReadOnlySpan<char> span = reference.AsSpan();
int exclIndex = span.IndexOf('!');
Expand Down Expand Up @@ -76,7 +76,6 @@
{
SheetName = sheetName;
Name = string.Empty;
SheetIdReference = string.Empty;
ExcelColumnStart = columnStart.GetColNumber();
ExcelColumnEnd = columnEnd.GetColNumber();
ExcelRowStart = rowStart;
Expand All @@ -101,7 +100,6 @@

SheetName = sheetName;
Name = userRange;
SheetIdReference = string.Empty;
if (userRange.Contains(':'))
{
DoExtractBasedOnCellRange(userRange);
Expand Down Expand Up @@ -253,10 +251,10 @@
/// </summary>
public int ExcelRowEnd { get; private set; }

/// <summary>
/// Xml.Value;
/// </summary>
public string SheetIdReference { get; init; }
///// <summary>
///// Xml.Value;
///// </summary>
//public string SheetIdReference { get; init; }

/// <summary>
/// Xml.Value;
Expand Down
Loading
Loading