Domanda

Ho una serie di metodi di calcolo seduto in un .Net DLL.Vorrei fare quei metodi disponibili per Excel (2003+) utenti in modo che possano utilizzarlo per i loro fogli di calcolo.

Per esempio, il mio .net metodo:

public double CalculateSomethingReallyComplex(double a, double b) {...}

Vorrei consentire loro di chiamare questo metodo, semplicemente digitando una formula in una cella casuale:

=CalculateSomethingReallyComplex(A1, B1)

Quale sarebbe il modo migliore per ottenere questo?

È stato utile?

Soluzione

Ci sono due metodi è possibile utilizzare Visual Studio Tools per Office (VSTO):

http://blogs.msdn.com/pstubbs/archive/2004/12/31/344964.aspx

oppure è possibile utilizzare COM:

http://blogs.msdn.com/eric_carter/archive/2004/12/01/273127.aspx

Non so se VSTO metodo di lavoro nelle versioni precedenti di Excel, ma il metodo di COM dovrebbe funzionare bene.

Altri suggerimenti

Si dovrebbe anche dare un'occhiata al ExcelDna (http://www.codeplex.com/exceldna).ExcelDna è un progetto open-source (gratuito anche per uso commerciale) che consente di creare nativo .xll componenti aggiuntivi utilizzando .Net.Entrambe le funzioni definite dall'utente (Udf) e le macro possono essere creati.Codice aggiuntivo può essere basato su testo, file di script contenente VB, C# e F# codice, o gestito .dll.

Dal momento che il native di Excel interfacce SDK sono utilizzati, piuttosto che COM-based automation, aggiungere in base ExcelDna può essere facile da installare e non necessitano di registrazione.ExcelDna supporta le versioni di Excel da Excel '97 a Excel 2007, e include il supporto per Excel 2007 i tipi di dati (foglio di grandi dimensioni e le stringhe Unicode), così come multi-threaded di ricalcolo in Excel 2007.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top