ExcelDna

DotNet for Applications

ExcelDna

  • Introduction
  • Getting Started
  • Some More Examples
Subscribe to this blog's feed

ExcelDna Version 0.23 - Packing and other features

I have uploaded ExcelDna Version 0.23 to the CodePlex site http://exceldna.codeplex.com. 

The main support site remains the Google group http://groups.google.com/group/exceldna.

This release adds a number of features to ExcelDna, the most 
significant being a packing application that allows you to create a 
single .xll file containing your .dna file(s), compiled .dll libraries 
and other referenced assemblies. I have also implemented a few smaller 
user requests. The new features have corresponding examples in the 
Distribution\Samples directory, but not much other documentation. 
And feedback, problems, examples etc. will be very welcome. You can 
either post to the Google group or mail me directly to 
gov
...@icon.co.za. 

In particular, any help in documenting and testing these features 
would be greatly appreciated. 

17 March 2010 | Permalink

ExcelDna 0.22 Released

I have released ExcelDna version 0.22 on CodePlex (http://exceldna.codeplex.com). 

This version is an important bugfix release that fixes a critical bug 
in the MultiThreaded marshaling support (under Excel 2007). This 
needed significant changes in the Excel 2007 marshaling, so if you 
find any problems with this release, please let me know. 

--Govert --

22 February 2010 | Permalink

Warning - serious multithreading bug in ExcelDna

Hello ExcelDna Users,

A serious bug in the ExcelDna multithreaded support for Excel 2007 has been reported.


High-performance functions that are declared as IsThreadSafe=true, running under Excel 2007, and running on multi-core machines might return incorrect results. In some cases the function might return a result from a different thread, hence from a different calculation.

I'm currently looking at the problem and should be able to release a fix by Monday. The bug is in the marshaling code, where I misunderstood how the custom marshaling interacts with the native stub that the runtime generates.
This does not affect ExcelDna based add-ins running under older version of Excel, or functions that are not explicitly marked as IsThreadSafe=true.


I am very sorry for any trouble or inconvenience this might cause.


Regards,
Govert

20 February 2010 | Permalink

ExcelDna 0.21 Released

I have released a minor update to ExcelDna - version 0.21.

This release and more information is available on the ExcelDna CodePlex site:http://exceldna.codeplex.com.

The main discussion and support forum for ExcelDna is still the Google group at http://groups.google.com/group/exceldna.  

11 January 2010 | Permalink

ExcelDna 0.20 Released

I have released a minor update to ExcelDna - version 0.20.

This release and more information is available on the ExcelDna CodePlex site: http://exceldna.codeplex.com.

The main discussion and support forum for ExcelDna is still the Google group at http://groups.google.com/group/exceldna.  

22 September 2009 | Permalink

CodePlex Project Hosting

I have created a CodePlex project for ExcelDna, available at http://www.codeplex.com/exceldna.

I consider the move experimental, but I hope that a public website and mainstream hosting of the project might increase the visibility a bit. I will continue to monitor and post new releases to the Google Group http://groups.google.com/group/exceldna as well.

I have imported the source code history since the first public release in May 2006. The latest release remains version 0.18.

Also worth checking out is the great work on the ExcelDna Contributions project at http://www.codeplex.com/exceldnacontrib.

09 February 2009 | Permalink

ExcelDna 0.18 - Excel 2007 Multi-Threaded Recalculation

I have posted ExcelDna version 0.18 to the Files section of the
Google Group: http://exceldna.googlegroups.com/web/ExcelDna-0.18.zip.

This version adds support for multi-threaded recalculation in Excel
2007 (http://msdn.microsoft.com/en-us/library/bb687899.aspx). Just
mark your ExcelDna function with IsThreadSafe=true. Of course you need
to ensure that your function really is thread-safe. An example is
pasted below.

If you make calls with high latency, such as calls to a web service or
in the example below, you might like to increase the number of threads
that Excel uses beyond the number of physical processes. This can be
done in the Advanced Options tab. If your functions are compute-
intensive, the optimal number of threads is probably the number of
processors, which is the Excel default setting.

Please also read the notes on ExcelDna version 0.17 (http://
groups.google.com/group/exceldna/browse_thread/thread/
411b44e139a2c1b3), where some breaking changes to the type model for
ExcelDna functions were introduced.

As always, your feedback is appreciated very much.

--Govert--


<DnaLibrary Name="ExcelDna MTR Test AddIn" Language="C#">
<![CDATA[
using System;
using ExcelDna.Integration;

public class MyFunctions
{
   [ExcelFunction(Category="MTR Test Functions")]
   public static object NonMtrFunction(object arg)
   {
      return arg;
   }

   [ExcelFunction(Category="MTR Test Functions",
IsThreadSafe=true)]
   public static object MtrFunction(object arg)
   {
      System.Threading.Thread.Sleep(1000);
      return arg;
   }
]]>
</DnaLibrary>

28 December 2008 | Permalink

ExcelDna 0.17 - Excel 2007 Data Types

I have posted ExcelDna version 0.17 to the Files section of the Google Group: http://exceldna.googlegroups.com/web/ExcelDna-0.17.zip. The changes are listed below.

PLEASE BE CAREFUL - THIS VERSION HAS BREAKING CHANGES.

I welcome any feedback on this version, including just a note saying that it works (especially on older versions of Excel). If you have any problem understanding the changes, please post a message to the Google Group- I'll be happy to clarify and help get your add-in working again.

The aims with this version were to implement the Excel 2007 data type support and to simplify (and hopefully stabilise) the data type interface between your add-in functions and ExcelDna. Details below...

Next for ExcelDna, I plan to rework some of the marshaling internals in order to implement support for the multi-threaded recalculation in Excel 2007. This work should also allow some nice extensions to be added . . .

--Govert--

The main changes from v. 0.16 are:
* Support added for the Excel 2007 large sheet, large arrays and long Unicode strings.
* BREAKING CHANGE: I made changes to the data types passed into 'object' parameters (under all versions of Excel):
- Missing arguments are received as a new type: ExcelDna.Integration.ExcelMissing, no longer as
System.Reflection.Missing.
- Empty cells are received as a new type: ExcelDna.Integration.ExcelEmpty, no longer as nulls.
- Please study the Describe function in MoreSamples.dna carefully.
* BREAKING CHANGE: Calling XlCall.Excel now will never return a short or int, but returns a double for all numeric call results.

Smaller changes and fixes:
* The system codepage is used for string conversions under Excel versions pre 2007 (thanks to Martin Drescher).
* When the .xll is reloaded via File->Open, I do a close and open, which reloads the .dna file.
* IsInFunctionWizard now returns false when called from the Find/Replace dialog box on English verisons of Excel.
* Internal references received from Excel are populated with the SheetId of the Current sheet before being returned as an ExcelReference. In effect internal references (SREFs) are no longer exposed by ExcelDna, all ExcelReferences are considered external references.

27 December 2008 | Permalink

ExcelDna Google Group

The Google group http://groups.google.com/group/exceldna is currently the ExcelDna home. 

02 December 2008 | Permalink

ExcelDna version 0.14

I have reworked the loader architecture of ExcelDna, now available as the experimental version 0.14. Check out the details (and post comments or questions) at the Google Group: http://groups.google.com/group/ExcelDna.

- Govert

21 July 2008 | Permalink | Comments (0)

»