Nexxtsoft.NovaMathcadExporter 1.2.2

dotnet add package Nexxtsoft.NovaMathcadExporter --version 1.2.2
                    
NuGet\Install-Package Nexxtsoft.NovaMathcadExporter -Version 1.2.2
                    
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="Nexxtsoft.NovaMathcadExporter" Version="1.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nexxtsoft.NovaMathcadExporter" Version="1.2.2" />
                    
Directory.Packages.props
<PackageReference Include="Nexxtsoft.NovaMathcadExporter" />
                    
Project file
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 Nexxtsoft.NovaMathcadExporter --version 1.2.2
                    
#r "nuget: Nexxtsoft.NovaMathcadExporter, 1.2.2"
                    
#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 Nexxtsoft.NovaMathcadExporter@1.2.2
                    
#: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=Nexxtsoft.NovaMathcadExporter&version=1.2.2
                    
Install as a Cake Addin
#tool nuget:?package=Nexxtsoft.NovaMathcadExporter&version=1.2.2
                    
Install as a Cake Tool

Nexxtsoft.NovaMathcadExporter

.NET 8 library for converting Mathcad Prime MCDX or worksheet XML into NOVA formulas. The package contains a compiled assembly and an embedded Excel template. ClosedXML is restored as a package dependency. No Mathcad or Microsoft Excel installation is required.

using NovaMathcadExporter;

var exporter = new MathcadExporter();
var rows = await exporter.ConvertAsync(mathcadStream, cancellationToken);

// Alternatively, create a NOVA import workbook directly from a fresh input stream.
await exporter.ExportAsync(mathcadStream, outputStream, "TestVector", cancellationToken);

Each call consumes input from its current position. Rewind a seekable stream or open a new stream before reusing it. Input and output streams remain caller-owned. Non-seekable input is buffered in memory; hosts must enforce appropriate upload limits. Cancellation is observed during input reading and before synchronous conversion/export.

The worksheet name becomes the NOVA formula module number. For custom Excel templates, use NovaMathcadExporter.Services.NovaExcelExporter with its explicit template overload. Existing extractor, converter, and model namespaces remain available.

Supported Max(match(1, vector comparison numericThreshold)) lookups with an optional integer offset are translated into NOVA's descriptor syntax. Other lookup expressions retain their existing representation and require support from the consuming NOVA engine. The caller must validate formulas before accepting them into a template.

This package does not grant a software license. Obtain applicable licensing terms from nexxtsoft GmbH. Binary distribution does not prevent .NET decompilation.

Version 1.2.2

Prime conditionals are rendered directly as complete NOVA If(condition, value, fallback) expressions, retaining nested elseif branches and rejecting incomplete conditional XML. Missing source else branches retain NoBranchNumber()/NoBranchText() rather than silently inventing a zero result. The consuming engine must support these functions.

ConvertAsync rows now additionally expose ValueKind, IsText and TextVariables inferred from the XML definitions. Consumers must map these values to their formula metadata; upgrading the package alone does not migrate saved libraries or repair manual edits. The existing nine-column Excel layout is unchanged; Excel importers still need their own type inference. The legacy Convert(string) path has no XML semantic type information.

Regression coverage includes the complete conditional worksheet, every conditional node, text references, vector result kinds, missing else fallbacks and malformed elseif nodes.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
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.