aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RhSolutions.AddIn/RhSolutions.AddIn.csproj3
-rw-r--r--RhSolutions.ExcelExtensions/Column.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelColumn.cs)14
-rw-r--r--RhSolutions.ExcelExtensions/ColumnEnumerator.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelColumnEnumerator.cs)12
-rw-r--r--RhSolutions.ExcelExtensions/Columns.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelColumns.cs)16
-rw-r--r--RhSolutions.ExcelExtensions/ColumnsEnumerator.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelColumnsEnumerator.cs)12
-rw-r--r--RhSolutions.ExcelExtensions/RhSolutions.ExcelExtensions.csproj15
-rw-r--r--RhSolutions.ExcelExtensions/Row.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelRow.cs)12
-rw-r--r--RhSolutions.ExcelExtensions/RowEnumerator.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelRowEnumerator.cs)12
-rw-r--r--RhSolutions.ExcelExtensions/Rows.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelRows.cs)16
-rw-r--r--RhSolutions.ExcelExtensions/RowsEnumerator.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelRowsEnumerator.cs)12
-rw-r--r--RhSolutions.ExcelExtensions/Table.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelTable.cs)28
-rw-r--r--RhSolutions.ExcelExtensions/TableCell.cs (renamed from RhSolutions.AddIn/ExcelTable/ExcelTableCell.cs)10
-rw-r--r--RhSolutions.ExcelExtensions/Usings.cs3
-rw-r--r--RhSolutions.Tests/ExcelTablesTests.cs2
-rw-r--r--RhSolutions.Tests/Usings.cs5
-rw-r--r--RhSolutions.sln6
16 files changed, 102 insertions, 76 deletions
diff --git a/RhSolutions.AddIn/RhSolutions.AddIn.csproj b/RhSolutions.AddIn/RhSolutions.AddIn.csproj
index 81fcb6a..536248e 100644
--- a/RhSolutions.AddIn/RhSolutions.AddIn.csproj
+++ b/RhSolutions.AddIn/RhSolutions.AddIn.csproj
@@ -36,4 +36,7 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="RhSolutions.Sku" Version="0.1.1" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\RhSolutions.ExcelExtensions\RhSolutions.ExcelExtensions.csproj" />
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelColumn.cs b/RhSolutions.ExcelExtensions/Column.cs
index 7d72cd5..53a1f3d 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelColumn.cs
+++ b/RhSolutions.ExcelExtensions/Column.cs
@@ -1,8 +1,8 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public sealed class ExcelColumn : ExcelTable, IEnumerable<ExcelTableCell>
+public sealed class Column : Table, IEnumerable<TableCell>
{
public string Header
{
@@ -17,26 +17,26 @@ public sealed class ExcelColumn : ExcelTable, IEnumerable<ExcelTableCell>
get => Range.Rows.Count;
}
- public ExcelColumn(Range range, ExcelTable table) : base(range, table)
+ public Column(Range range, Table table) : base(range, table)
{
Range = range;
ParentTable = table;
}
- public ExcelTableCell this[int index]
+ public TableCell this[int index]
{
get => new(Range.Cells[index + 1, 1], ParentTable);
}
- public IEnumerator<ExcelTableCell> GetEnumerator()
+ public IEnumerator<TableCell> GetEnumerator()
{
- return new ExcelColumnEnumerator(Range, ParentTable);
+ return new ColumnEnumerator(Range, ParentTable);
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
- public ExcelColumn AddLeft()
+ public Column AddLeft()
{
Range.EntireColumn
.Insert(XlInsertShiftDirection.xlShiftToRight,
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelColumnEnumerator.cs b/RhSolutions.ExcelExtensions/ColumnEnumerator.cs
index c809c18..9880b5d 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelColumnEnumerator.cs
+++ b/RhSolutions.ExcelExtensions/ColumnEnumerator.cs
@@ -1,11 +1,11 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelColumnEnumerator : IEnumerator<ExcelTableCell>
+public class ColumnEnumerator : IEnumerator<TableCell>
{
public Range Range { get; }
- public ExcelTable ParentTable { get; }
+ public Table ParentTable { get; }
private int position = 0;
object IEnumerator.Current
{
@@ -15,13 +15,13 @@ public class ExcelColumnEnumerator : IEnumerator<ExcelTableCell>
}
}
- public ExcelTableCell Current
+ public TableCell Current
{
get
{
try
{
- return new ExcelTableCell(Range.Cells[position, 1], ParentTable);
+ return new TableCell(Range.Cells[position, 1], ParentTable);
}
catch (IndexOutOfRangeException)
{
@@ -30,7 +30,7 @@ public class ExcelColumnEnumerator : IEnumerator<ExcelTableCell>
}
}
- public ExcelColumnEnumerator(Range range, ExcelTable table)
+ public ColumnEnumerator(Range range, Table table)
{
Range = range;
ParentTable = table;
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelColumns.cs b/RhSolutions.ExcelExtensions/Columns.cs
index 4aacd6f..1fbc0ef 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelColumns.cs
+++ b/RhSolutions.ExcelExtensions/Columns.cs
@@ -1,23 +1,23 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelColumns : IEnumerable<ExcelColumn>
+public class Columns : IEnumerable<Column>
{
public Range Range { get; }
- public ExcelTable ParentTable { get; }
+ public Table ParentTable { get; }
public int Length
{
get => Range.Columns.Count;
}
- public ExcelColumns(Range range, ExcelTable parentTable)
+ public Columns(Range range, Table parentTable)
{
Range = range;
ParentTable = parentTable;
}
- public ExcelColumn this[int index]
+ public Column this[int index]
{
get
{
@@ -26,13 +26,13 @@ public class ExcelColumns : IEnumerable<ExcelColumn>
throw new IndexOutOfRangeException();
}
- return new ExcelColumn(Range.Columns[index + 1], ParentTable);
+ return new Column(Range.Columns[index + 1], ParentTable);
}
}
- public IEnumerator<ExcelColumn> GetEnumerator()
+ public IEnumerator<Column> GetEnumerator()
{
- return new ExcelColumnsEnumerator(Range, ParentTable);
+ return new ColumnsEnumerator(Range, ParentTable);
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelColumnsEnumerator.cs b/RhSolutions.ExcelExtensions/ColumnsEnumerator.cs
index 8c351e9..578e2b0 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelColumnsEnumerator.cs
+++ b/RhSolutions.ExcelExtensions/ColumnsEnumerator.cs
@@ -1,11 +1,11 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelColumnsEnumerator: IEnumerator<ExcelColumn>
+public class ColumnsEnumerator: IEnumerator<Column>
{
public Range Range { get; }
- public ExcelTable ParentTable { get; }
+ public Table ParentTable { get; }
private int position = 0;
object IEnumerator.Current
{
@@ -15,13 +15,13 @@ public class ExcelColumnsEnumerator: IEnumerator<ExcelColumn>
}
}
- public ExcelColumn Current
+ public Column Current
{
get
{
try
{
- return new ExcelColumn(Range.Columns[position], ParentTable);
+ return new Column(Range.Columns[position], ParentTable);
}
catch (IndexOutOfRangeException)
{
@@ -30,7 +30,7 @@ public class ExcelColumnsEnumerator: IEnumerator<ExcelColumn>
}
}
- public ExcelColumnsEnumerator(Range range, ExcelTable table)
+ public ColumnsEnumerator(Range range, Table table)
{
Range = range;
ParentTable = table;
diff --git a/RhSolutions.ExcelExtensions/RhSolutions.ExcelExtensions.csproj b/RhSolutions.ExcelExtensions/RhSolutions.ExcelExtensions.csproj
new file mode 100644
index 0000000..bf58d4f
--- /dev/null
+++ b/RhSolutions.ExcelExtensions/RhSolutions.ExcelExtensions.csproj
@@ -0,0 +1,15 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFrameworks>net472;net6.0-windows7.0</TargetFrameworks>
+ <LangVersion>10</LangVersion>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <PackageReference Include="ExcelDna.Interop" Version="15.0.1" />
+ <PackageReference Include="System.Net.Http" Version="4.3.4" />
+ </ItemGroup>
+
+</Project>
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelRow.cs b/RhSolutions.ExcelExtensions/Row.cs
index 231fd7c..32617b4 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelRow.cs
+++ b/RhSolutions.ExcelExtensions/Row.cs
@@ -1,8 +1,8 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public sealed class ExcelRow : ExcelTable, IEnumerable<ExcelTableCell>
+public sealed class Row : Table, IEnumerable<TableCell>
{
public int Index
{
@@ -13,20 +13,20 @@ public sealed class ExcelRow : ExcelTable, IEnumerable<ExcelTableCell>
get => Range.Columns.Count;
}
- public ExcelRow(Range range, ExcelTable table) : base(range, table)
+ public Row(Range range, Table table) : base(range, table)
{
Range = range;
ParentTable = table;
}
- public ExcelTableCell this[int index]
+ public TableCell this[int index]
{
get => new(Range.Cells[1, index + 1], ParentTable);
}
- public IEnumerator<ExcelTableCell> GetEnumerator()
+ public IEnumerator<TableCell> GetEnumerator()
{
- return new ExcelRowEnumerator(Range, ParentTable);
+ return new RowEnumerator(Range, ParentTable);
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelRowEnumerator.cs b/RhSolutions.ExcelExtensions/RowEnumerator.cs
index 58f88d8..fd56dcd 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelRowEnumerator.cs
+++ b/RhSolutions.ExcelExtensions/RowEnumerator.cs
@@ -1,11 +1,11 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelRowEnumerator : IEnumerator<ExcelTableCell>
+public class RowEnumerator : IEnumerator<TableCell>
{
public Range Range { get; }
- public ExcelTable ParentTable { get; }
+ public Table ParentTable { get; }
private int position = 0;
object IEnumerator.Current
{
@@ -15,13 +15,13 @@ public class ExcelRowEnumerator : IEnumerator<ExcelTableCell>
}
}
- public ExcelTableCell Current
+ public TableCell Current
{
get
{
try
{
- return new ExcelTableCell(Range.Cells[1, position], ParentTable);
+ return new TableCell(Range.Cells[1, position], ParentTable);
}
catch (IndexOutOfRangeException)
{
@@ -30,7 +30,7 @@ public class ExcelRowEnumerator : IEnumerator<ExcelTableCell>
}
}
- public ExcelRowEnumerator(Range range, ExcelTable parentTable)
+ public RowEnumerator(Range range, Table parentTable)
{
Range = range;
ParentTable = parentTable;
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelRows.cs b/RhSolutions.ExcelExtensions/Rows.cs
index 44602f0..1c0bc0d 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelRows.cs
+++ b/RhSolutions.ExcelExtensions/Rows.cs
@@ -1,23 +1,23 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelRows : IEnumerable<ExcelRow>
+public class Rows : IEnumerable<Row>
{
public Range Range { get; }
- public ExcelTable ParentTable { get; }
+ public Table ParentTable { get; }
public int Length
{
get => Range.Rows.Count;
}
- public ExcelRows(Range range, ExcelTable parentTable)
+ public Rows(Range range, Table parentTable)
{
Range = range;
ParentTable = parentTable;
}
- public ExcelRow this[int index]
+ public Row this[int index]
{
get
{
@@ -26,13 +26,13 @@ public class ExcelRows : IEnumerable<ExcelRow>
throw new IndexOutOfRangeException();
}
- return new ExcelRow(Range.Rows[index + 1], ParentTable);
+ return new Row(Range.Rows[index + 1], ParentTable);
}
}
- public IEnumerator<ExcelRow> GetEnumerator()
+ public IEnumerator<Row> GetEnumerator()
{
- return new ExcelRowsEnumerator(Range, ParentTable);
+ return new RowsEnumerator(Range, ParentTable);
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelRowsEnumerator.cs b/RhSolutions.ExcelExtensions/RowsEnumerator.cs
index e5430d1..b53db98 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelRowsEnumerator.cs
+++ b/RhSolutions.ExcelExtensions/RowsEnumerator.cs
@@ -1,11 +1,11 @@
using System.Collections;
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelRowsEnumerator : IEnumerator<ExcelRow>
+public class RowsEnumerator : IEnumerator<Row>
{
public Range Range { get; }
- public ExcelTable ParentTable { get; }
+ public Table ParentTable { get; }
private int position = 0;
object IEnumerator.Current
{
@@ -15,13 +15,13 @@ public class ExcelRowsEnumerator : IEnumerator<ExcelRow>
}
}
- public ExcelRow Current
+ public Row Current
{
get
{
try
{
- return new ExcelRow(Range.Rows[position], ParentTable);
+ return new Row(Range.Rows[position], ParentTable);
}
catch (IndexOutOfRangeException)
{
@@ -30,7 +30,7 @@ public class ExcelRowsEnumerator : IEnumerator<ExcelRow>
}
}
- public ExcelRowsEnumerator(Range range, ExcelTable table)
+ public RowsEnumerator(Range range, Table table)
{
Range = range;
ParentTable = table;
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelTable.cs b/RhSolutions.ExcelExtensions/Table.cs
index 2788036..a19a4b4 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelTable.cs
+++ b/RhSolutions.ExcelExtensions/Table.cs
@@ -1,34 +1,34 @@
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public class ExcelTable
+public class Table
{
public Range Range { get; protected set; }
- public ExcelTable ParentTable { get; protected set; }
- public ExcelRows Rows { get; }
- public ExcelColumns Columns { get; }
+ public Table ParentTable { get; protected set; }
+ public Rows Rows { get; }
+ public Columns Columns { get; }
- public ExcelTable(Range range)
+ public Table(Range range)
{
Range = range;
ParentTable = null;
- Rows = new ExcelRows(Range, this);
- Columns = new ExcelColumns(Range, this);
+ Rows = new Rows(Range, this);
+ Columns = new Columns(Range, this);
}
- public ExcelTable(Range range, ExcelTable table)
+ public Table(Range range, Table table)
{
Range = range;
ParentTable = table;
- Rows = new ExcelRows(Range, this);
- Columns = new ExcelColumns(Range, this);
+ Rows = new Rows(Range, this);
+ Columns = new Columns(Range, this);
}
- public ExcelTableCell this[int row, int column]
+ public TableCell this[int row, int column]
{
get => new(Range.Cells[row + 1, column + 1], this);
}
- public IEnumerable<ExcelTableCell> Find(object item)
+ public IEnumerable<TableCell> Find(object item)
{
Range firstFound = Range.Find(item);
if (firstFound == null)
@@ -40,7 +40,7 @@ public class ExcelTable
while (true)
{
- yield return new ExcelTableCell(nextFound, ParentTable ?? this);
+ yield return new TableCell(nextFound, ParentTable ?? this);
nextFound = Range.FindNext(nextFound);
if (nextFound.Row == firstFound.Row
diff --git a/RhSolutions.AddIn/ExcelTable/ExcelTableCell.cs b/RhSolutions.ExcelExtensions/TableCell.cs
index 8f742d2..822673e 100644
--- a/RhSolutions.AddIn/ExcelTable/ExcelTableCell.cs
+++ b/RhSolutions.ExcelExtensions/TableCell.cs
@@ -1,12 +1,12 @@
-namespace RhSolutions.ExcelTable;
+namespace RhSolutions.ExcelExtensions;
-public sealed class ExcelTableCell : ExcelTable
+public sealed class TableCell : Table
{
- public ExcelRow ParentRow
+ public Row ParentRow
{
get => ParentTable.Rows[ParentTable.Range.Row - Range.Row];
}
- public ExcelColumn ParentColumn
+ public Column ParentColumn
{
get => ParentTable.Columns[ParentTable.Range.Column - Range.Column];
}
@@ -16,7 +16,7 @@ public sealed class ExcelTableCell : ExcelTable
set => Range.Cells[1, 1].Value2 = value;
}
- public ExcelTableCell(Range range, ExcelTable table) : base(range, table)
+ public TableCell(Range range, Table table) : base(range, table)
{
Range = range;
ParentTable = table;
diff --git a/RhSolutions.ExcelExtensions/Usings.cs b/RhSolutions.ExcelExtensions/Usings.cs
new file mode 100644
index 0000000..94bcc5e
--- /dev/null
+++ b/RhSolutions.ExcelExtensions/Usings.cs
@@ -0,0 +1,3 @@
+global using Microsoft.Office.Interop.Excel;
+global using System.Collections.Generic;
+global using Range = Microsoft.Office.Interop.Excel.Range; \ No newline at end of file
diff --git a/RhSolutions.Tests/ExcelTablesTests.cs b/RhSolutions.Tests/ExcelTablesTests.cs
index 3ce71bc..78264ac 100644
--- a/RhSolutions.Tests/ExcelTablesTests.cs
+++ b/RhSolutions.Tests/ExcelTablesTests.cs
@@ -3,7 +3,7 @@
[ExcelTestSettings(OutOfProcess = true, Workbook = @"TestWorkbooks\ExcelTableTest.xlsx")]
public class ExcelTablesTests : IDisposable
{
- ExcelTable.ExcelTable table;
+ ExcelExtensions.Table table;
public ExcelTablesTests()
{
diff --git a/RhSolutions.Tests/Usings.cs b/RhSolutions.Tests/Usings.cs
index 4b95659..bf19a29 100644
--- a/RhSolutions.Tests/Usings.cs
+++ b/RhSolutions.Tests/Usings.cs
@@ -1,5 +1,4 @@
-global using Xunit;
+global using ExcelDna.Testing;
global using Microsoft.Office.Interop.Excel;
-global using ExcelDna.Testing;
-global using RhSolutions.ExcelTable;
global using RhSolutions.Services;
+global using Xunit;
diff --git a/RhSolutions.sln b/RhSolutions.sln
index 8d94b9b..8db9bf3 100644
--- a/RhSolutions.sln
+++ b/RhSolutions.sln
@@ -7,6 +7,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RhSolutions.AddIn", "RhSolu
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RhSolutions.Tests", "RhSolutions.Tests\RhSolutions.Tests.csproj", "{6EECCDDB-741C-404A-874F-BB8656265162}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.ExcelExtensions", "RhSolutions.ExcelExtensions\RhSolutions.ExcelExtensions.csproj", "{ADB862A8-5CC6-4509-A4F7-9907E84F5801}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -21,6 +23,10 @@ Global
{6EECCDDB-741C-404A-874F-BB8656265162}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EECCDDB-741C-404A-874F-BB8656265162}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EECCDDB-741C-404A-874F-BB8656265162}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ADB862A8-5CC6-4509-A4F7-9907E84F5801}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ADB862A8-5CC6-4509-A4F7-9907E84F5801}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ADB862A8-5CC6-4509-A4F7-9907E84F5801}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ADB862A8-5CC6-4509-A4F7-9907E84F5801}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE