Download Latest Version xlw-5.0.2f0.exe (82.0 MB)
    Email in envelope

    Get an email when there's a new version of XLW - A C++ wrapper for the Excel C API

    Home
    Name Modified Size InfoDownloads / Week
    xlw 2020-08-02
    OldFiles 2011-08-11
    xlw-mingw-installer 2011-02-26
    Readme.md 2020-08-02 2.6 kB
    xlwDotNet.0.0.0-DEV08022113.nupkg 2020-08-02 45.9 MB
    xlw.20.7.31-dev8a88.nupkg 2020-08-01 17.1 MB
    Totals: 6 Items   63.0 MB 6

    XLW HAS MOVED - 02 Aug 2020

    Development of XLW is now taking place on Github

    All future releases will be nuget packages


    NUGET PACKAGES

    Here you'll find 2 nuget packages :

    xlw.20.7.31-dev8a88.nupkg

    is an alpha release of the nuget package for building Native (C/C++) xlls. Create a new DLL project and add the nuget package. It is also available on nuget.org

    xlwDotNet.0.0.0-DEV08022113.nupkg

    is a pre-alpha of nuget package for building .NET (C#) xlls.

    1. Create a .NET Core Library project
    2. Modify it to build for platforms x86 and\or x64. Delete the AnyCPU configuration
    3. Add the xlwDotNet nuget package (it's not yet available on nuget.org)
    4. Try adding the following code
    using System;
    using xlwDotNet;
    using xlwDotNet.xlwTypes;
    
    namespace Example
    {
        public class Class1
        {
            [ExcelExport("Hello World")]
            public static String HelloWorld()
            {
                return "Hello World!";
            }
    
            [ExcelExport("Get's .NET Version")]
            public static String dotnetversion()
            {
                return System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;
            }
    
            [ExcelExport("Negate an cellmatrix")]
            public static CellMatrix Negate(
                [Parameter("My cell range")]  CellMatrix cellMatrix
                )
            {
                for(int i = 0; i < cellMatrix.RowsInStructure; ++i)
                {
                    for (int j = 0; j < cellMatrix.ColumnsInStructure; ++j)
                    {
                        if(cellMatrix[i,j].IsANumber)
                        {
                            cellMatrix[i, j] = new CellValue(-cellMatrix[i, j].NumericValue());
                        }
                    }
                }
                return cellMatrix;
    
            }
    
            [ExcelExport("Negate an array")]
            public static MyArray NegateArray(
               [Parameter("My array")] MyArray myArray
               )
            {
                for (int i = 0; i < myArray.size; ++i)
                {
    
    
                    myArray[i] = -myArray[i];
    
                }
                return myArray;
    
            }
    
        }
    }
    

    TargetFramework

    In the project file you can add net472 , netcoreapp3.1 or net5.0 (given you have them installed)

    or you can add all of them for three XLLs

    <TargtFrameworks>net472;netcoreapp3.1;net5.0</TargtFrameworks>
    

    We will NOT be posting anymore nuget packages here.

    Source: Readme.md, updated 2020-08-02