XLExpression 1.0.4
dotnet add package XLExpression --version 1.0.4
NuGet\Install-Package XLExpression -Version 1.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XLExpression" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XLExpression" Version="1.0.4" />
<PackageReference Include="XLExpression" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XLExpression --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: XLExpression, 1.0.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package XLExpression@1.0.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XLExpression&version=1.0.4
#tool nuget:?package=XLExpression&version=1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
XLExpression
parse excel formula to C# expression, and compile to executable lambda 将 Excel 中的公式转为 C#的表达式树,然后使用 lambda 执行
Install
download release or see https://www.nuget.org/packages/XLExpression
Usage
1. parse formula to expression and execute
var exp = ExpressionBuilder.Instance.Build("IF(F2>G2,1,0)");
var result = exp.Invoke(new { F2 = 1, G2 = 0 });
2. parse excel file and execute all formula
var builder = new FormulaBuilder("Attachments/XLExpression.xlsx");
var result = builder.CalculateAll();
Develop
formula implments at XLExpression/Functions/Impl/...
Supported function
has implemented:
| function/symbols | Remark |
|---|---|
| + | add/concat string |
| - | minus |
| * | minus |
| / | divide |
| ^ | pow |
| = | equal |
| <> | not equal |
| > | greater than |
| >= | greater than or equal |
| < | less than |
| ⇐ | less than or equal |
| If | |
| And | |
| Or | |
| Round | |
| Date | |
| Sum | SUM(A1:A9), SUM(A1:D4), SUM(A1:A9, A1:D4) |
| SumIf | |
| VLookup | |
| Count | |
| CountIf | |
| Left | |
| Right | |
| Find | |
| Percentile | |
| Percentile.Inc | |
| Percentile.Exc | |
| PercentRank | |
| PercentRank.Inc | |
| PercentRank.Exc | |
| Max | |
| Min |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- System.ComponentModel.Composition (>= 7.0.0)
- System.Composition.AttributedModel (>= 7.0.0)
- XLParser (>= 1.6.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on XLExpression:
| Package | Downloads |
|---|---|
|
XLExpression.Excel
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.4 | 794 | 12/14/2022 |
| 1.0.3 | 591 | 12/14/2022 |
| 1.0.2 | 455 | 12/2/2022 |
| 1.0.1-alpha | 268 | 11/30/2022 |
| 1.0.0-alpha | 265 | 11/30/2022 |