Home / xlw
Name Modified Size InfoDownloads / Week
Parent folder
xlw 5.0 2014-12-13
xlw 5DEV 2011-08-11
xlw 4.0 2009-09-22
xlw 3.0 2008-05-11
xlw 2.1 2007-04-22
xlw 2.0 2006-12-19
xlw 1.2.2 2003-03-09
xlw 1.2.0 2002-07-09
xlw 1.0 2002-01-29
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: 11 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