diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config
new file mode 100644
index 0000000..6a318ad
--- /dev/null
+++ b/.nuget/NuGet.Config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
new file mode 100644
index 0000000..3ffdd33
--- /dev/null
+++ b/.nuget/NuGet.exe
Binary files differ
diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets
new file mode 100644
index 0000000..100267f
--- /dev/null
+++ b/.nuget/NuGet.targets
@@ -0,0 +1,144 @@
+
+
+
+ $(MSBuildProjectDirectory)\..\
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ $([System.IO.Path]::Combine($(SolutionDir), ".nuget"))
+
+
+
+
+ $(SolutionDir).nuget
+
+
+
+ $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config
+ $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config
+
+
+
+ $(MSBuildProjectDirectory)\packages.config
+ $(PackagesProjectConfig)
+
+
+
+
+ $(NuGetToolsPath)\NuGet.exe
+ @(PackageSource)
+
+ "$(NuGetExePath)"
+ mono --runtime=v4.0.30319 $(NuGetExePath)
+
+ $(TargetDir.Trim('\\'))
+
+ -RequireConsent
+ -NonInteractive
+
+ "$(SolutionDir) "
+ "$(SolutionDir)"
+
+
+ $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)
+ $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols
+
+
+
+ RestorePackages;
+ $(BuildDependsOn);
+
+
+
+
+ $(BuildDependsOn);
+ BuildPackage;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ClosedXML.sln b/ClosedXML.sln
new file mode 100644
index 0000000..f87028c
--- /dev/null
+++ b/ClosedXML.sln
@@ -0,0 +1,143 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Sandbox", "ClosedXML_Sandbox\ClosedXML_Sandbox.csproj", "{38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5C94E22C-85AA-48FD-B082-CF929FFC6C31}"
+ ProjectSection(SolutionItems) = preProject
+ ClosedXML.vsmdi = ClosedXML.vsmdi
+ DocumentFormat.OpenXml.dll = DocumentFormat.OpenXml.dll
+ Ionic.Zip.dll = Ionic.Zip.dll
+ Local.testsettings = Local.testsettings
+ TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Examples", "ClosedXML_Examples\ClosedXML_Examples.csproj", "{03A518D0-1CB7-488E-861C-C4E782B27A46}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Net3.5", "ClosedXML_Net3.5\ClosedXML_Net3.5.csproj", "{5F43B12B-A900-40C6-9924-A0C0B032F791}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML", "ClosedXML\ClosedXML.csproj", "{BD5E6BFE-E837-4A35-BCA9-39667D873A20}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Tests", "ClosedXML_Tests\ClosedXML_Tests.csproj", "{09B066ED-E4A7-4545-A1A4-FF03DD524BDF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Package", "ClosedXML_Package\ClosedXML_Package.csproj", "{69B3BDDF-C359-447C-AEB7-EBD8867DE528}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{8018E34C-28E4-4FAF-87DC-A71D6275C567}"
+ ProjectSection(SolutionItems) = preProject
+ .nuget\NuGet.Config = .nuget\NuGet.Config
+ .nuget\NuGet.exe = .nuget\NuGet.exe
+ .nuget\NuGet.targets = .nuget\NuGet.targets
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x64.ActiveCfg = Debug|x64
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x64.Build.0 = Debug|x64
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x86.ActiveCfg = Debug|x86
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x86.Build.0 = Debug|x86
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x64.ActiveCfg = Release|x64
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x64.Build.0 = Release|x64
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x86.ActiveCfg = Release|Any CPU
+ {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x86.Build.0 = Release|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x64.ActiveCfg = Debug|x64
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x64.Build.0 = Debug|x64
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x86.ActiveCfg = Debug|x86
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x86.Build.0 = Debug|x86
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Any CPU.Build.0 = Release|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x64.ActiveCfg = Release|x64
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x64.Build.0 = Release|x64
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x86.ActiveCfg = Release|Any CPU
+ {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x86.Build.0 = Release|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x64.ActiveCfg = Debug|x64
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x64.Build.0 = Debug|x64
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x86.ActiveCfg = Debug|x86
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x86.Build.0 = Debug|x86
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x64.ActiveCfg = Release|x64
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x64.Build.0 = Release|x64
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x86.ActiveCfg = Release|Any CPU
+ {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x86.Build.0 = Release|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x64.ActiveCfg = Debug|x64
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x64.Build.0 = Debug|x64
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x86.ActiveCfg = Debug|x86
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x86.Build.0 = Debug|x86
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x64.ActiveCfg = Release|x64
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x64.Build.0 = Release|x64
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x86.ActiveCfg = Release|Any CPU
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x86.Build.0 = Release|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|x64.ActiveCfg = Release|Any CPU
+ {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|x86.ActiveCfg = Release|Any CPU
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Any CPU.Build.0 = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|x64.ActiveCfg = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|x86.ActiveCfg = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|x86.Build.0 = Debug|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Any CPU.ActiveCfg = Release|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Any CPU.Build.0 = Release|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Mixed Platforms.Build.0 = Release|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|x64.ActiveCfg = Release|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|x86.ActiveCfg = Release|x86
+ {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(TestCaseManagementSettings) = postSolution
+ CategoryFile = ClosedXML.vsmdi
+ EndGlobalSection
+EndGlobal
diff --git a/ClosedXML.vsmdi b/ClosedXML.vsmdi
new file mode 100644
index 0000000..b93fcdf
--- /dev/null
+++ b/ClosedXML.vsmdi
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML.csproj b/ClosedXML/ClosedXML.csproj
new file mode 100644
index 0000000..4012c76
--- /dev/null
+++ b/ClosedXML/ClosedXML.csproj
@@ -0,0 +1,416 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {BD5E6BFE-E837-4A35-BCA9-39667D873A20}
+ Library
+ Properties
+ ClosedXML
+ ClosedXML
+ v4.0
+ 512
+ SAK
+ SAK
+ SAK
+ SAK
+ Client
+ ..\
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ NET4
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ NET4
+ prompt
+ 4
+ bin\Release\ClosedXML.XML
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ bin\Debug\ClosedXML.dll.CodeAnalysisLog.xml
+ true
+ GlobalSuppressions.cs
+ prompt
+ MinimumRecommendedRules.ruleset
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
+ false
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
+ false
+
+
+ bin\x86\Release\
+ TRACE
+ bin\Release\ClosedXML.XML
+ true
+ pdbonly
+ x86
+ bin\Release\ClosedXML.dll.CodeAnalysisLog.xml
+ true
+ GlobalSuppressions.cs
+ prompt
+ MinimumRecommendedRules.ruleset
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
+ false
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
+ false
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ bin\Debug\ClosedXML.dll.CodeAnalysisLog.xml
+ true
+ GlobalSuppressions.cs
+ prompt
+ MinimumRecommendedRules.ruleset
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
+ false
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
+ false
+
+
+ bin\x64\Release\
+ TRACE
+ bin\Release\ClosedXML.XML
+ true
+ pdbonly
+ x64
+ bin\Release\ClosedXML.dll.CodeAnalysisLog.xml
+ true
+ GlobalSuppressions.cs
+ prompt
+ MinimumRecommendedRules.ruleset
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
+ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
+ false
+ false
+
+
+ true
+
+
+ ClosedXML.snk
+
+
+ OnBuildSuccess
+
+
+
+ True
+ ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IF EXIST $(SolutionDir)ClosedXML_Package\bin\Release\ClosedXML_Package.exe $(SolutionDir)ClosedXML_Package\bin\Release\ClosedXML_Package.exe $(TargetDir)
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML.snk b/ClosedXML/ClosedXML.snk
new file mode 100644
index 0000000..a17cff7
--- /dev/null
+++ b/ClosedXML/ClosedXML.snk
Binary files differ
diff --git a/ClosedXML/ClosedXML/.nuget/NuGet.Config b/ClosedXML/ClosedXML/.nuget/NuGet.Config
deleted file mode 100644
index 6a318ad..0000000
--- a/ClosedXML/ClosedXML/.nuget/NuGet.Config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/.nuget/NuGet.exe b/ClosedXML/ClosedXML/.nuget/NuGet.exe
deleted file mode 100644
index 3ffdd33..0000000
--- a/ClosedXML/ClosedXML/.nuget/NuGet.exe
+++ /dev/null
Binary files differ
diff --git a/ClosedXML/ClosedXML/.nuget/NuGet.targets b/ClosedXML/ClosedXML/.nuget/NuGet.targets
deleted file mode 100644
index 100267f..0000000
--- a/ClosedXML/ClosedXML/.nuget/NuGet.targets
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
- $(MSBuildProjectDirectory)\..\
-
-
- false
-
-
- false
-
-
- true
-
-
- false
-
-
-
-
-
-
-
-
-
-
- $([System.IO.Path]::Combine($(SolutionDir), ".nuget"))
-
-
-
-
- $(SolutionDir).nuget
-
-
-
- $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config
- $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config
-
-
-
- $(MSBuildProjectDirectory)\packages.config
- $(PackagesProjectConfig)
-
-
-
-
- $(NuGetToolsPath)\NuGet.exe
- @(PackageSource)
-
- "$(NuGetExePath)"
- mono --runtime=v4.0.30319 $(NuGetExePath)
-
- $(TargetDir.Trim('\\'))
-
- -RequireConsent
- -NonInteractive
-
- "$(SolutionDir) "
- "$(SolutionDir)"
-
-
- $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)
- $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols
-
-
-
- RestorePackages;
- $(BuildDependsOn);
-
-
-
-
- $(BuildDependsOn);
- BuildPackage;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ClosedXML/ClosedXML/ClosedXML.sln b/ClosedXML/ClosedXML/ClosedXML.sln
deleted file mode 100644
index f87028c..0000000
--- a/ClosedXML/ClosedXML/ClosedXML.sln
+++ /dev/null
@@ -1,143 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Sandbox", "ClosedXML_Sandbox\ClosedXML_Sandbox.csproj", "{38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5C94E22C-85AA-48FD-B082-CF929FFC6C31}"
- ProjectSection(SolutionItems) = preProject
- ClosedXML.vsmdi = ClosedXML.vsmdi
- DocumentFormat.OpenXml.dll = DocumentFormat.OpenXml.dll
- Ionic.Zip.dll = Ionic.Zip.dll
- Local.testsettings = Local.testsettings
- TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Examples", "ClosedXML_Examples\ClosedXML_Examples.csproj", "{03A518D0-1CB7-488E-861C-C4E782B27A46}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Net3.5", "ClosedXML_Net3.5\ClosedXML_Net3.5.csproj", "{5F43B12B-A900-40C6-9924-A0C0B032F791}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML", "ClosedXML\ClosedXML.csproj", "{BD5E6BFE-E837-4A35-BCA9-39667D873A20}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Tests", "ClosedXML_Tests\ClosedXML_Tests.csproj", "{09B066ED-E4A7-4545-A1A4-FF03DD524BDF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClosedXML_Package", "ClosedXML_Package\ClosedXML_Package.csproj", "{69B3BDDF-C359-447C-AEB7-EBD8867DE528}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{8018E34C-28E4-4FAF-87DC-A71D6275C567}"
- ProjectSection(SolutionItems) = preProject
- .nuget\NuGet.Config = .nuget\NuGet.Config
- .nuget\NuGet.exe = .nuget\NuGet.exe
- .nuget\NuGet.targets = .nuget\NuGet.targets
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|Mixed Platforms = Debug|Mixed Platforms
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|Mixed Platforms = Release|Mixed Platforms
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x64.ActiveCfg = Debug|x64
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x64.Build.0 = Debug|x64
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x86.ActiveCfg = Debug|x86
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Debug|x86.Build.0 = Debug|x86
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Any CPU.Build.0 = Release|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x64.ActiveCfg = Release|x64
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x64.Build.0 = Release|x64
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x86.ActiveCfg = Release|Any CPU
- {38B882F0-E6F2-45C5-9BE9-CDC27FBEB4AB}.Release|x86.Build.0 = Release|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x64.ActiveCfg = Debug|x64
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x64.Build.0 = Debug|x64
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x86.ActiveCfg = Debug|x86
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Debug|x86.Build.0 = Debug|x86
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Any CPU.Build.0 = Release|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x64.ActiveCfg = Release|x64
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x64.Build.0 = Release|x64
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x86.ActiveCfg = Release|Any CPU
- {03A518D0-1CB7-488E-861C-C4E782B27A46}.Release|x86.Build.0 = Release|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x64.ActiveCfg = Debug|x64
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x64.Build.0 = Debug|x64
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x86.ActiveCfg = Debug|x86
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Debug|x86.Build.0 = Debug|x86
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Any CPU.Build.0 = Release|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x64.ActiveCfg = Release|x64
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x64.Build.0 = Release|x64
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x86.ActiveCfg = Release|Any CPU
- {5F43B12B-A900-40C6-9924-A0C0B032F791}.Release|x86.Build.0 = Release|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x64.ActiveCfg = Debug|x64
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x64.Build.0 = Debug|x64
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x86.ActiveCfg = Debug|x86
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Debug|x86.Build.0 = Debug|x86
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Any CPU.Build.0 = Release|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x64.ActiveCfg = Release|x64
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x64.Build.0 = Release|x64
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x86.ActiveCfg = Release|Any CPU
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}.Release|x86.Build.0 = Release|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|x64.ActiveCfg = Debug|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Debug|x86.ActiveCfg = Debug|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Any CPU.Build.0 = Release|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|x64.ActiveCfg = Release|Any CPU
- {09B066ED-E4A7-4545-A1A4-FF03DD524BDF}.Release|x86.ActiveCfg = Release|Any CPU
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Any CPU.ActiveCfg = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Any CPU.Build.0 = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|Mixed Platforms.Build.0 = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|x64.ActiveCfg = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|x86.ActiveCfg = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Debug|x86.Build.0 = Debug|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Any CPU.ActiveCfg = Release|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Any CPU.Build.0 = Release|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Mixed Platforms.ActiveCfg = Release|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|Mixed Platforms.Build.0 = Release|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|x64.ActiveCfg = Release|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|x86.ActiveCfg = Release|x86
- {69B3BDDF-C359-447C-AEB7-EBD8867DE528}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(TestCaseManagementSettings) = postSolution
- CategoryFile = ClosedXML.vsmdi
- EndGlobalSection
-EndGlobal
diff --git a/ClosedXML/ClosedXML/ClosedXML.vsmdi b/ClosedXML/ClosedXML/ClosedXML.vsmdi
deleted file mode 100644
index b93fcdf..0000000
--- a/ClosedXML/ClosedXML/ClosedXML.vsmdi
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj b/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj
deleted file mode 100644
index 4012c76..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj
+++ /dev/null
@@ -1,416 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {BD5E6BFE-E837-4A35-BCA9-39667D873A20}
- Library
- Properties
- ClosedXML
- ClosedXML
- v4.0
- 512
- SAK
- SAK
- SAK
- SAK
- Client
- ..\
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- NET4
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- NET4
- prompt
- 4
- bin\Release\ClosedXML.XML
-
-
- true
- bin\x86\Debug\
- DEBUG;TRACE
- full
- x86
- bin\Debug\ClosedXML.dll.CodeAnalysisLog.xml
- true
- GlobalSuppressions.cs
- prompt
- MinimumRecommendedRules.ruleset
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
- false
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
- false
-
-
- bin\x86\Release\
- TRACE
- bin\Release\ClosedXML.XML
- true
- pdbonly
- x86
- bin\Release\ClosedXML.dll.CodeAnalysisLog.xml
- true
- GlobalSuppressions.cs
- prompt
- MinimumRecommendedRules.ruleset
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
- false
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
- false
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE
- full
- x64
- bin\Debug\ClosedXML.dll.CodeAnalysisLog.xml
- true
- GlobalSuppressions.cs
- prompt
- MinimumRecommendedRules.ruleset
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
- false
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
- false
-
-
- bin\x64\Release\
- TRACE
- bin\Release\ClosedXML.XML
- true
- pdbonly
- x64
- bin\Release\ClosedXML.dll.CodeAnalysisLog.xml
- true
- GlobalSuppressions.cs
- prompt
- MinimumRecommendedRules.ruleset
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets
- ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules
- false
- false
-
-
- true
-
-
- ClosedXML.snk
-
-
- OnBuildSuccess
-
-
-
- True
- ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- IF EXIST $(SolutionDir)ClosedXML_Package\bin\Release\ClosedXML_Package.exe $(SolutionDir)ClosedXML_Package\bin\Release\ClosedXML_Package.exe $(TargetDir)
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.snk b/ClosedXML/ClosedXML/ClosedXML/ClosedXML.snk
deleted file mode 100644
index a17cff7..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.snk
+++ /dev/null
Binary files differ
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs
deleted file mode 100644
index 8859848..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-namespace ClosedXML.Excel
-{
- using System.Collections.Generic;
-
- public interface IXLAutoFilter: IDisposable
- {
- IXLFilterColumn Column(String column);
- IXLFilterColumn Column(Int32 column);
-
- IXLAutoFilter Sort(Int32 columnToSortBy = 1, XLSortOrder sortOrder = XLSortOrder.Ascending, Boolean matchCase = false, Boolean ignoreBlanks = true);
- Boolean Sorted { get; set; }
- XLSortOrder SortOrder { get; set; }
- Int32 SortColumn { get; set; }
- }
-}
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs
deleted file mode 100644
index b3f8d66..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System;
-namespace ClosedXML.Excel
-{
- using System.Collections.Generic;
- public enum XLFilterType { Regular, Custom, TopBottom, Dynamic }
- public enum XLFilterDynamicType { AboveAverage, BelowAverage }
- public enum XLTopBottomPart { Top, Bottom}
- public interface IXLBaseAutoFilter
- {
- Boolean Enabled { get; set; }
- IXLRange Range { get; set; }
- IXLBaseAutoFilter Set(IXLRangeBase range);
- IXLBaseAutoFilter Clear();
-
- IXLFilterColumn Column(String column);
- IXLFilterColumn Column(Int32 column);
-
- IXLBaseAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder = XLSortOrder.Ascending, Boolean matchCase = false, Boolean ignoreBlanks = true);
- Boolean Sorted { get; set; }
- XLSortOrder SortOrder { get; set; }
- Int32 SortColumn { get; set; }
-
-
- }
-}
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLCustomFilteredColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLCustomFilteredColumn.cs
deleted file mode 100644
index 85cec03..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLCustomFilteredColumn.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-namespace ClosedXML.Excel
-{
- public interface IXLCustomFilteredColumn
- {
- void EqualTo(T value) where T : IComparable;
- void NotEqualTo(T value) where T : IComparable;
- void GreaterThan(T value) where T : IComparable;
- void LessThan(T value) where T : IComparable;
- void EqualOrGreaterThan(T value) where T : IComparable;
- void EqualOrLessThan(T value) where T : IComparable;
- void BeginsWith(String value);
- void NotBeginsWith(String value);
- void EndsWith(String value);
- void NotEndsWith(String value);
- void Contains(String value);
- void NotContains(String value);
- }
-}
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilterColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilterColumn.cs
deleted file mode 100644
index 159faf9..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilterColumn.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System;
-namespace ClosedXML.Excel
-{
- public enum XLTopBottomType { Items, Percent }
- public interface IXLFilterColumn
- {
- void Clear();
-
- IXLFilteredColumn AddFilter(T value) where T : IComparable;
-
- void Top(Int32 value, XLTopBottomType type = XLTopBottomType.Items);
- void Bottom(Int32 value, XLTopBottomType type = XLTopBottomType.Items);
- void AboveAverage();
- void BelowAverage();
-
- IXLFilterConnector EqualTo(T value) where T : IComparable;
- IXLFilterConnector NotEqualTo(T value) where T : IComparable;
- IXLFilterConnector GreaterThan(T value) where T : IComparable;
- IXLFilterConnector LessThan(T value) where T : IComparable;
- IXLFilterConnector EqualOrGreaterThan(T value) where T : IComparable;
- IXLFilterConnector EqualOrLessThan(T value) where T : IComparable;
- void Between(T minValue, T maxValue) where T : IComparable;
- void NotBetween(T minValue, T maxValue) where T : IComparable;
- IXLFilterConnector BeginsWith(String value);
- IXLFilterConnector NotBeginsWith(String value);
- IXLFilterConnector EndsWith(String value);
- IXLFilterConnector NotEndsWith(String value);
- IXLFilterConnector Contains(String value);
- IXLFilterConnector NotContains(String value);
-
- XLFilterType FilterType { get; set; }
- Int32 TopBottomValue { get; set; }
- XLTopBottomType TopBottomType { get; set; }
- XLTopBottomPart TopBottomPart { get; set; }
- XLFilterDynamicType DynamicType { get; set; }
- Double DynamicValue { get; set; }
-
- IXLFilterColumn SetFilterType(XLFilterType value);
- IXLFilterColumn SetTopBottomValue(Int32 value);
- IXLFilterColumn SetTopBottomType(XLTopBottomType value);
- IXLFilterColumn SetTopBottomPart(XLTopBottomPart value);
- IXLFilterColumn SetDynamicType(XLFilterDynamicType value);
- IXLFilterColumn SetDynamicValue(Double value);
-
- }
-}
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilterConnector.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilterConnector.cs
deleted file mode 100644
index 7955869..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilterConnector.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-
-namespace ClosedXML.Excel
-{
- public interface IXLFilterConnector
- {
- IXLCustomFilteredColumn And { get; }
- IXLCustomFilteredColumn Or { get; }
- }
-}
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilteredColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilteredColumn.cs
deleted file mode 100644
index 6491f55..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/IXLFilteredColumn.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-namespace ClosedXML.Excel
-{
- public interface IXLFilteredColumn
- {
- IXLFilteredColumn AddFilter(T value) where T : IComparable;
- }
-}
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs
deleted file mode 100644
index 79430e6..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs
+++ /dev/null
@@ -1,160 +0,0 @@
-using System;
-using System.Linq;
-
-namespace ClosedXML.Excel
-{
- using System.Collections.Generic;
-
- internal class XLAutoFilter : IXLBaseAutoFilter, IXLAutoFilter
- {
- private readonly Dictionary _columns = new Dictionary();
-
- public XLAutoFilter()
- {
- Filters = new Dictionary>();
- }
-
- public Dictionary> Filters { get; private set; }
-
- #region IXLAutoFilter Members
-
- IXLAutoFilter IXLAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase,
- Boolean ignoreBlanks)
- {
- return Sort(columnToSortBy, sortOrder, matchCase, ignoreBlanks);
- }
-
- public void Dispose()
- {
- if (Range != null)
- Range.Dispose();
- }
-
- #endregion
-
- #region IXLBaseAutoFilter Members
-
- public Boolean Enabled { get; set; }
- public IXLRange Range { get; set; }
-
- IXLBaseAutoFilter IXLBaseAutoFilter.Clear()
- {
- return Clear();
- }
-
- IXLBaseAutoFilter IXLBaseAutoFilter.Set(IXLRangeBase range)
- {
- return Set(range);
- }
-
- IXLBaseAutoFilter IXLBaseAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase,
- Boolean ignoreBlanks)
- {
- return Sort(columnToSortBy, sortOrder, matchCase, ignoreBlanks);
- }
-
- public Boolean Sorted { get; set; }
- public XLSortOrder SortOrder { get; set; }
- public Int32 SortColumn { get; set; }
-
- public IXLFilterColumn Column(String column)
- {
- return Column(XLHelper.GetColumnNumberFromLetter(column));
- }
-
- public IXLFilterColumn Column(Int32 column)
- {
- XLFilterColumn filterColumn;
- if (!_columns.TryGetValue(column, out filterColumn))
- {
- filterColumn = new XLFilterColumn(this, column);
- _columns.Add(column, filterColumn);
- }
-
- return filterColumn;
- }
-
- #endregion
-
- public XLAutoFilter Set(IXLRangeBase range)
- {
- Range = range.AsRange();
- Enabled = true;
- return this;
- }
-
- public XLAutoFilter Clear()
- {
- Enabled = false;
- Filters.Clear();
- foreach (IXLRangeRow row in Range.Rows().Where(r => r.RowNumber() > 1))
- row.WorksheetRow().Unhide();
- return this;
- }
-
- public XLAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, Boolean ignoreBlanks)
- {
- var ws = Range.Worksheet as XLWorksheet;
- ws.SuspendEvents();
- Range.Range(Range.FirstCell().CellBelow(), Range.LastCell()).Sort(columnToSortBy, sortOrder, matchCase,
- ignoreBlanks);
-
- Sorted = true;
- SortOrder = sortOrder;
- SortColumn = columnToSortBy;
-
- if (Enabled)
- {
- using (var rows = Range.Rows(2, Range.RowCount()))
- {
- foreach (IXLRangeRow row in rows)
- row.WorksheetRow().Unhide();
- }
-
- foreach (KeyValuePair> kp in Filters)
- {
- Boolean firstFilter = true;
- foreach (XLFilter filter in kp.Value)
- {
- Boolean isText = filter.Value is String;
- using (var rows = Range.Rows(2, Range.RowCount()))
- {
- foreach (IXLRangeRow row in rows)
- {
- Boolean match = isText
- ? filter.Condition(row.Cell(kp.Key).GetString())
- : row.Cell(kp.Key).DataType == XLCellValues.Number &&
- filter.Condition(row.Cell(kp.Key).GetDouble());
- if (firstFilter)
- {
- if (match)
- row.WorksheetRow().Unhide();
- else
- row.WorksheetRow().Hide();
- }
- else
- {
- if (filter.Connector == XLConnector.And)
- {
- if (!row.WorksheetRow().IsHidden)
- {
- if (match)
- row.WorksheetRow().Unhide();
- else
- row.WorksheetRow().Hide();
- }
- }
- else if (match)
- row.WorksheetRow().Unhide();
- }
- }
- firstFilter = false;
- }
- }
- }
- }
- ws.ResumeEvents();
- return this;
- }
- }
-}
\ No newline at end of file
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLCustomFilteredColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLCustomFilteredColumn.cs
deleted file mode 100644
index 26fd585..0000000
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/AutoFilters/XLCustomFilteredColumn.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-using System;
-using System.Linq;
-
-namespace ClosedXML.Excel
-{
- internal class XLCustomFilteredColumn : IXLCustomFilteredColumn
- {
- private readonly XLAutoFilter _autoFilter;
- private readonly Int32 _column;
- private readonly XLConnector _connector;
-
- public XLCustomFilteredColumn(XLAutoFilter autoFilter, Int32 column, XLConnector connector)
- {
- _autoFilter = autoFilter;
- _column = column;
- _connector = connector;
- }
-
- #region IXLCustomFilteredColumn Members
-
- public void EqualTo(T value) where T: IComparable
- {
- if (typeof(T) == typeof(String))
- {
- ApplyCustomFilter(value, XLFilterOperator.Equal,
- v =>
- v.ToString().Equals(value.ToString(), StringComparison.InvariantCultureIgnoreCase));
- }
- else
- {
- ApplyCustomFilter(value, XLFilterOperator.Equal,
- v => v.CastTo().CompareTo(value) == 0);
- }
- }
-
- public void NotEqualTo(T value) where T: IComparable
- {
- if (typeof(T) == typeof(String))
- {
- ApplyCustomFilter(value, XLFilterOperator.NotEqual,
- v =>
- !v.ToString().Equals(value.ToString(), StringComparison.InvariantCultureIgnoreCase));
- }
- else
- {
- ApplyCustomFilter(value, XLFilterOperator.NotEqual,
- v => v.CastTo().CompareTo(value) != 0);
- }
- }
-
- public void GreaterThan(T value) where T: IComparable
- {
- ApplyCustomFilter(value, XLFilterOperator.GreaterThan,
- v => v.CastTo().CompareTo(value) > 0);
- }
-
- public void LessThan(T value) where T: IComparable
- {
- ApplyCustomFilter(value, XLFilterOperator.LessThan, v => v.CastTo().CompareTo(value) < 0);
- }
-
- public void EqualOrGreaterThan(T value) where T: IComparable
- {
- ApplyCustomFilter(value, XLFilterOperator.EqualOrGreaterThan,
- v => v.CastTo().CompareTo(value) >= 0);
- }
-
- public void EqualOrLessThan(T value) where T: IComparable
- {
- ApplyCustomFilter(value, XLFilterOperator.EqualOrLessThan,
- v => v.CastTo().CompareTo(value) <= 0);
- }
-
- public void BeginsWith(String value)
- {
- ApplyCustomFilter(value + "*", XLFilterOperator.Equal,
- s => ((string)s).StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
- }
-
- public void NotBeginsWith(String value)
- {
- ApplyCustomFilter(value + "*", XLFilterOperator.NotEqual,
- s =>
- !((string)s).StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
- }
-
- public void EndsWith(String value)
- {
- ApplyCustomFilter("*" + value, XLFilterOperator.Equal,
- s => ((string)s).EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
- }
-
- public void NotEndsWith(String value)
- {
- ApplyCustomFilter("*" + value, XLFilterOperator.NotEqual,
- s => !((string)s).EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
- }
-
- public void Contains(String value)
- {
- ApplyCustomFilter("*" + value + "*", XLFilterOperator.Equal,
- s => ((string)s).ToLower().Contains(value.ToLower()));
- }
-
- public void NotContains(String value)
- {
- ApplyCustomFilter("*" + value + "*", XLFilterOperator.Equal,
- s => !((string)s).ToLower().Contains(value.ToLower()));
- }
-
- #endregion
-
- private void ApplyCustomFilter(T value, XLFilterOperator op, Func