XLExpression.Excel 1.0.4

dotnet add package XLExpression.Excel --version 1.0.4                
NuGet\Install-Package XLExpression.Excel -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.Excel" Version="1.0.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XLExpression.Excel --version 1.0.4                
#r "nuget: XLExpression.Excel, 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.
// Install XLExpression.Excel as a Cake Addin
#addin nuget:?package=XLExpression.Excel&version=1.0.4

// Install XLExpression.Excel as a Cake Tool
#tool nuget:?package=XLExpression.Excel&version=1.0.4                

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

install https://www.nuget.org/packages/XLExpression.Excel

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 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. 
.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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.4 320 12/14/2022
1.0.3 298 12/14/2022