diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index dc687db..8f2016d 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"fake-cli": {
- "version": "6.0.0",
+ "version": "6.1.1",
"commands": [
"fake"
]
@@ -15,13 +15,13 @@
]
},
"fsdocs-tool": {
- "version": "20.0.0",
+ "version": "20.0.1",
"commands": [
"fsdocs"
]
},
"fantomas": {
- "version": "6.3.4",
+ "version": "6.3.13",
"commands": [
"fantomas"
]
diff --git a/Directory.Build.props b/Directory.Build.props
index ff2d3c3..265cc34 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,9 +1,18 @@
-
- https://github.com/fsprojects/ExcelProvider
- https://github.com/fsprojects/ExcelProvider/blob/master/LICENSE.txt
- https://github.com/fsprojects/ExcelProvider/blob/master/RELEASE_NOTES.md
- https://fsprojects.github.io/ExcelProvider/
- images/logo.png
-
+
+ https://github.com/fsprojects/ExcelProvider
+ https://fsprojects.github.io/ExcelProvider/
+
+
+
+ true
+ all
+ low
+
+
+
+ https://github.com/fsprojects/ExcelProvider/blob/master/LICENSE.txt
+ https://github.com/fsprojects/ExcelProvider/blob/master/RELEASE_NOTES.md
+ images/logo.png
+
diff --git a/README.md b/README.md
index effbbb0..7fb8934 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@ This library is for the .NET platform implementing a read-only Excel type provid
## Building
-* Windows: Run ./build.cmd -t Build (see build.fsx for more options to pass in as arguments after -t)
-* Requires dotnet core 6.0.421 or higher 6.0 level sdk to be installed.
+* Windows: Run ./build.cmd -t "Build" (see build.fsx for more options to pass in as arguments after -t)
+* Requires dotnet core 6.0.425 or higher 6.0 level sdk to be installed.
* See DEVGUIDE.md for more information
## Maintainer(s)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 392aeff..c3330a0 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,3 +1,10 @@
+### 3.0.0
+
+* Fix issue [#41](https://github.com/fsprojects/ExcelProvider/issues/41). The type provider should no longer return an extra blank row with the data as it did before.
+* Fix issue [#14](https://github.com/fsprojects/ExcelProvider/issues/41) and related behaviour. We are now better at handling casting of data to the detected data type if there are rows which have data of different data types.
+* Both of the above fixes where contributed by new contributor [Matthew Dupont](https://github.com/mjdupont). His contributions are very much appreciated.
+* Both fixes, but especially for #41, can break existing code logic. Please test your code after upgrading to this version.
+
### 2.1.0
* Fix issue [#77](https://github.com/fsprojects/ExcelProvider/issues/77). The type provider will no longer revert to the first sheet if the sheet name provided does not exist. Instead, the code will not compile.
diff --git a/global.json b/global.json
index 700debb..8b92a02 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "6.0.421",
+ "version": "6.0.425",
"rollForward": "minor"
}
}
diff --git a/nuget/paket.template b/nuget/paket.template
index d515e2b..ca77847 100644
--- a/nuget/paket.template
+++ b/nuget/paket.template
@@ -1,7 +1,7 @@
type file
id ExcelProvider
version
- 2.1.0
+ 3.0.0
authors
Contributors on Github
owners
@@ -23,7 +23,7 @@ description
tags
F# fsharp typeproviders Excel
releaseNotes
- Fix issue #77. No longer defaults to first sheet in workbook when the requested sheet name does not exist.
+ Fix issue #14 and issue #41. These are breaking changes.
files
diff --git a/paket.dependencies b/paket.dependencies
index 4b8d53c..ab56244 100644
--- a/paket.dependencies
+++ b/paket.dependencies
@@ -36,7 +36,7 @@ group Build
group Test
source https://api.nuget.org/v3/index.json
frameworks: net6.0
- nuget Microsoft.NET.Test.Sdk 17.9.0
+ nuget Microsoft.NET.Test.Sdk
nuget NUnit
nuget NUnit.Console
nuget NUnit3TestAdapter version_in_path: true
diff --git a/paket.lock b/paket.lock
index ef97cc0..d004e1a 100644
--- a/paket.lock
+++ b/paket.lock
@@ -1,11 +1,11 @@
RESTRICTION: == netstandard2.0
NUGET
remote: https://api.nuget.org/v3/index.json
- ExcelDataReader (3.6)
- ExcelDataReader.DataSet (3.6)
- ExcelDataReader (>= 3.6)
+ ExcelDataReader (3.7)
+ ExcelDataReader.DataSet (3.7)
+ ExcelDataReader (>= 3.7)
FSharp.Core (6.0.7)
- Microsoft.NET.Test.Sdk (17.9)
+ Microsoft.NET.Test.Sdk (17.11.1)
Microsoft.NETCore.Platforms (7.0.4)
NETStandard.Library (2.0.3)
Microsoft.NETCore.Platforms (>= 1.1)
@@ -221,7 +221,7 @@ NUGET
System.Configuration.ConfigurationManager (>= 6.0)
System.Security.Permissions (>= 6.0) - restriction: == netstandard2.0
System.Text.Encoding.CodePages (>= 6.0) - restriction: == netstandard2.0
- Microsoft.NET.StringTools (17.9.5)
+ Microsoft.NET.StringTools (17.11.4)
System.Memory (>= 4.5.5)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
Microsoft.NETCore.Platforms (7.0.4)
@@ -240,22 +240,22 @@ NUGET
Microsoft.Build.Framework (>= 16.10)
Microsoft.Build.Utilities.Core (>= 16.10)
Newtonsoft.Json (13.0.3)
- NuGet.Common (6.9.1)
- NuGet.Frameworks (>= 6.9.1)
- NuGet.Configuration (6.9.1)
- NuGet.Common (>= 6.9.1)
+ NuGet.Common (6.11)
+ NuGet.Frameworks (>= 6.11)
+ NuGet.Configuration (6.11)
+ NuGet.Common (>= 6.11)
System.Security.Cryptography.ProtectedData (>= 4.4)
- NuGet.Frameworks (6.9.1)
- NuGet.Packaging (6.9.1)
+ NuGet.Frameworks (6.11)
+ NuGet.Packaging (6.11)
Newtonsoft.Json (>= 13.0.3)
- NuGet.Configuration (>= 6.9.1)
- NuGet.Versioning (>= 6.9.1)
+ NuGet.Configuration (>= 6.11)
+ NuGet.Versioning (>= 6.11)
System.Security.Cryptography.Pkcs (>= 6.0.4)
- NuGet.Protocol (6.9.1)
- NuGet.Packaging (>= 6.9.1)
+ NuGet.Protocol (6.11)
+ NuGet.Packaging (>= 6.11)
System.Text.Json (>= 7.0.3) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< net5.0)) (== netstandard2.0)
- NuGet.Versioning (6.9.1)
- Octokit (11.0.1)
+ NuGet.Versioning (6.11)
+ Octokit (13.0.1)
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
@@ -363,7 +363,7 @@ NUGET
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
System.Runtime (>= 4.3)
- System.Formats.Asn1 (8.0)
+ System.Formats.Asn1 (8.0.1)
System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= net462)) (== netstandard2.0)
System.Memory (>= 4.5.5) - restriction: || (&& (== net6.0) (>= net462)) (== netstandard2.0)
System.Globalization (4.3)
@@ -685,7 +685,7 @@ NUGET
System.Security.Cryptography.Primitives (>= 4.3)
System.Text.Encoding (>= 4.3)
System.Threading (>= 4.3)
- System.Security.Cryptography.Xml (8.0)
+ System.Security.Cryptography.Xml (8.0.1)
System.Memory (>= 4.5.5) - restriction: == netstandard2.0
System.Security.AccessControl (>= 6.0) - restriction: == netstandard2.0
System.Security.Cryptography.Pkcs (>= 8.0)
@@ -708,7 +708,7 @@ NUGET
System.Text.Encoding (>= 4.3)
System.Text.Encodings.Web (8.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
System.Runtime.CompilerServices.Unsafe (>= 6.0)
- System.Text.Json (8.0.3)
+ System.Text.Json (8.0.4)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Text.Encodings.Web (>= 8.0)
System.Threading (4.3)
@@ -718,7 +718,7 @@ NUGET
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
System.Runtime (>= 4.3)
- System.Threading.Tasks.Dataflow (8.0)
+ System.Threading.Tasks.Dataflow (8.0.1)
System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.0)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= wp8)) (== netstandard2.0)
System.Threading.Tasks.Parallel (4.3)
@@ -772,31 +772,31 @@ NUGET
FsUnit (6.0)
FSharp.Core (>= 5.0.2)
NUnit (>= 4.0.1)
- Microsoft.Build.Framework (17.9.5)
+ Microsoft.Build.Framework (17.11.4)
Microsoft.Win32.Registry (>= 5.0)
System.Memory (>= 4.5.5)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Security.Principal.Windows (>= 5.0)
- Microsoft.Build.Tasks.Core (17.9.5)
- Microsoft.Build.Framework (>= 17.9.5)
- Microsoft.Build.Utilities.Core (>= 17.9.5)
- Microsoft.NET.StringTools (>= 17.9.5)
+ Microsoft.Build.Tasks.Core (17.11.4)
+ Microsoft.Build.Framework (>= 17.11.4)
+ Microsoft.Build.Utilities.Core (>= 17.11.4)
+ Microsoft.NET.StringTools (>= 17.11.4)
Microsoft.Win32.Registry (>= 5.0)
- System.CodeDom (>= 7.0)
+ System.CodeDom (>= 8.0)
System.Collections.Immutable (>= 8.0)
System.Configuration.ConfigurationManager (>= 8.0)
System.Memory (>= 4.5.5)
System.Reflection.Metadata (>= 8.0)
System.Resources.Extensions (>= 8.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
- System.Security.Cryptography.Pkcs (>= 7.0.2)
- System.Security.Cryptography.Xml (>= 7.0.1)
+ System.Security.Cryptography.Pkcs (>= 8.0)
+ System.Security.Cryptography.Xml (>= 8.0)
System.Security.Principal.Windows (>= 5.0)
System.Text.Encoding.CodePages (>= 7.0)
System.Threading.Tasks.Dataflow (>= 8.0)
- Microsoft.Build.Utilities.Core (17.9.5)
- Microsoft.Build.Framework (>= 17.9.5)
- Microsoft.NET.StringTools (>= 17.9.5)
+ Microsoft.Build.Utilities.Core (17.11.4)
+ Microsoft.Build.Framework (>= 17.11.4)
+ Microsoft.NET.StringTools (>= 17.11.4)
Microsoft.Win32.Registry (>= 5.0)
System.Collections.Immutable (>= 8.0)
System.Configuration.ConfigurationManager (>= 8.0)
@@ -804,19 +804,19 @@ NUGET
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Security.Principal.Windows (>= 5.0)
System.Text.Encoding.CodePages (>= 7.0)
- Microsoft.CodeCoverage (17.9)
- Microsoft.NET.StringTools (17.9.5)
+ Microsoft.CodeCoverage (17.11.1)
+ Microsoft.NET.StringTools (17.11.4)
System.Memory (>= 4.5.5)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
- Microsoft.NET.Test.Sdk (17.9)
- Microsoft.CodeCoverage (>= 17.9)
- Microsoft.TestPlatform.TestHost (>= 17.9)
+ Microsoft.NET.Test.Sdk (17.11.1)
+ Microsoft.CodeCoverage (>= 17.11.1)
+ Microsoft.TestPlatform.TestHost (>= 17.11.1)
Microsoft.NETCore.Platforms (7.0.4)
Microsoft.NETCore.Targets (5.0)
- Microsoft.TestPlatform.ObjectModel (17.9)
+ Microsoft.TestPlatform.ObjectModel (17.11.1)
System.Reflection.Metadata (>= 1.6)
- Microsoft.TestPlatform.TestHost (17.9)
- Microsoft.TestPlatform.ObjectModel (>= 17.9)
+ Microsoft.TestPlatform.TestHost (17.11.1)
+ Microsoft.TestPlatform.ObjectModel (>= 17.11.1)
Newtonsoft.Json (>= 13.0.1)
Microsoft.Win32.Primitives (4.3)
Microsoft.NETCore.Platforms (>= 1.1)
@@ -826,21 +826,21 @@ NUGET
System.Security.AccessControl (>= 5.0)
System.Security.Principal.Windows (>= 5.0)
Newtonsoft.Json (13.0.3)
- NUnit (4.1)
- NUnit.Console (3.17)
- NUnit.ConsoleRunner (>= 3.17)
+ NUnit (4.2.2)
+ NUnit.Console (3.18.1)
+ NUnit.ConsoleRunner (>= 3.18.1)
NUnit.Extension.NUnitProjectLoader (>= 3.6)
NUnit.Extension.NUnitV2Driver (>= 3.8)
NUnit.Extension.NUnitV2ResultWriter (>= 3.6)
NUnit.Extension.TeamCityEventListener (>= 1.0.7)
NUnit.Extension.VSProjectLoader (>= 3.8)
- NUnit.ConsoleRunner (3.17)
- NUnit.Extension.NUnitProjectLoader (3.7.1)
+ NUnit.ConsoleRunner (3.18.1)
+ NUnit.Extension.NUnitProjectLoader (3.8)
NUnit.Extension.NUnitV2Driver (3.9)
- NUnit.Extension.NUnitV2ResultWriter (3.7)
+ NUnit.Extension.NUnitV2ResultWriter (3.8)
NUnit.Extension.TeamCityEventListener (1.0.9)
NUnit.Extension.VSProjectLoader (3.9)
- NUnit3TestAdapter (4.5.0) - version_in_path: true
+ NUnit3TestAdapter (4.6.0) - version_in_path: true
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
@@ -947,7 +947,7 @@ NUGET
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
System.Runtime (>= 4.3)
- System.Formats.Asn1 (8.0)
+ System.Formats.Asn1 (8.0.1)
System.Globalization (4.3)
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
@@ -1249,7 +1249,7 @@ NUGET
System.Security.Cryptography.Primitives (>= 4.3)
System.Text.Encoding (>= 4.3)
System.Threading (>= 4.3)
- System.Security.Cryptography.Xml (8.0)
+ System.Security.Cryptography.Xml (8.0.1)
System.Security.Cryptography.Pkcs (>= 8.0)
System.Security.Principal (4.3)
System.Runtime (>= 4.3)
@@ -1272,7 +1272,7 @@ NUGET
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
System.Runtime (>= 4.3)
- System.Threading.Tasks.Dataflow (8.0)
+ System.Threading.Tasks.Dataflow (8.0.1)
System.Threading.Tasks.Parallel (4.3)
System.Collections.Concurrent (>= 4.3)
System.Diagnostics.Debug (>= 4.3)
diff --git a/src/ExcelProvider.DesignTime/AssemblyInfo.fs b/src/ExcelProvider.DesignTime/AssemblyInfo.fs
index 07826da..71ec509 100644
--- a/src/ExcelProvider.DesignTime/AssemblyInfo.fs
+++ b/src/ExcelProvider.DesignTime/AssemblyInfo.fs
@@ -6,8 +6,8 @@ open System.Reflection
[]
[]
[]
-[]
-[]
+[]
+[]
do ()
module internal AssemblyVersionInformation =
@@ -22,7 +22,7 @@ module internal AssemblyVersionInformation =
"This library implements a read-only Excel type provider for Net Standard 2.0."
[]
- let AssemblyVersion = "2.1.0"
+ let AssemblyVersion = "3.0.0"
[]
- let AssemblyFileVersion = "2.1.0"
+ let AssemblyFileVersion = "3.0.0"
diff --git a/src/ExcelProvider.Runtime/AssemblyInfo.fs b/src/ExcelProvider.Runtime/AssemblyInfo.fs
index 7eb3ea5..b8ae375 100644
--- a/src/ExcelProvider.Runtime/AssemblyInfo.fs
+++ b/src/ExcelProvider.Runtime/AssemblyInfo.fs
@@ -6,8 +6,8 @@ open System.Reflection
[]
[]
[]
-[]
-[]
+[]
+[]
do ()
module internal AssemblyVersionInformation =
@@ -22,7 +22,7 @@ module internal AssemblyVersionInformation =
"This library implements a read-only Excel type provider for Net Standard 2.0."
[]
- let AssemblyVersion = "2.1.0"
+ let AssemblyVersion = "3.0.0"
[]
- let AssemblyFileVersion = "2.1.0"
+ let AssemblyFileVersion = "3.0.0"
diff --git a/src/ExcelProvider.Runtime/ExcelProvider.Runtime.fsproj b/src/ExcelProvider.Runtime/ExcelProvider.Runtime.fsproj
index 56e4664..fd0f662 100644
--- a/src/ExcelProvider.Runtime/ExcelProvider.Runtime.fsproj
+++ b/src/ExcelProvider.Runtime/ExcelProvider.Runtime.fsproj
@@ -33,7 +33,7 @@
-
+
diff --git a/tests/ExcelProvider.Tests/ExcelProvider.Tests.fs b/tests/ExcelProvider.Tests/ExcelProvider.Tests.fs
index d32f797..3d95374 100644
--- a/tests/ExcelProvider.Tests/ExcelProvider.Tests.fs
+++ b/tests/ExcelProvider.Tests/ExcelProvider.Tests.fs
@@ -391,7 +391,7 @@ let ``Reading all rows in a well-formed excel file does not return empty rows``(
fileWithUnboundRange.Data |> Seq.length |> should equal 6
let fileWithBoundRange = MultipleRegions()
- fileWithBoundRange |> Seq.length |> should equal 4
+ fileWithBoundRange.Data |> Seq.length |> should equal 4
module AutomaticCoercion =
@@ -491,9 +491,9 @@ module AutomaticCoercion =
sprintf "%s (%f) %i" row.Title (row.Year) (row.``Date Watched``.Year) |> ignore
(fun () -> printTitles file.Data) |> should (not' << throw) typeof
-// See https://github.com/fsprojects/ExcelProvider/issues/14
-[]
-let ``Can automatically coerce non-string cells in a column of string data to their string form`` () =
+ // See https://github.com/fsprojects/ExcelProvider/issues/14
+ []
+ let ``Can automatically coerce non-string cells in a column of string data to their string form`` () =
let file = MixedDataTypes()
let printTitles data =
for (row:MixedDataTypes.Row) in data do