2010-08-24 15 views
10

Sto cercando tutte le classi "helper" gratuite di Excel che sono state scritte per .net (non deve essere C#). Mi piacerebbe valutare quali altri considerano utili e generici metodi di supporto statici (e non statici). Può essere indirizzato a VSTO o all'automazione di Office, anche se questo probabilmente non ha importanza.Cosa succede se esistono collegamenti a librerie di classi "helper" di Excel gratuite per C#?

Penso che dovrei anche sottolineare che questa domanda NON sta chiedendo "quali sono le buone alternative (o alternative libere) all'utilizzo dell'automazione del modello a oggetti di Excel. Non voglio davvero collegamenti a dispositivi SS ecc. sono tutti ottimi prodotti che non è lo scopo della domanda

Nel caso in cui non fosse abbastanza chiaro nel paragrafo precedente: Non voglio le risposte che dichiarano - utilizzare questo componente di terze parti gratuito (o non gratuito), invece del codice del modello oggetto Excel.

Quindi in sostanza quello che stavo chiedendo erano librerie di codice C# sviluppate dall'utente che contengono funzioni di supporto VSTO, Office o Excel come metodi statici per lavorare con menu, nastri , Gamme, cartelle di lavoro, documenti, XML (come quelli menzionati otaku) ...

+1

ho avuto a che fare con alcuni progetti Excel 2003, e ha finito per scrivere e che utilizzano regolarmente questi classi per gestire i menu: http://www.clear-lines.com/blog/post/Excel-VSTO-add-in-menu-manager.aspx Questo è un problema marginale, non è sicuro che valga la pena risposta separata! – Mathias

risposta

4

In termini di automazione di Office per Excel, ci sono alcuni buoni cmdlet di PowerShell Open XML che possono essere utilizzati per PS o portati a C# a Announcing the Release of PowerTools for Open XML V1.1. Il blog di Eric White, dove questo link è, ha recentemente dato un'occhiata più approfondita all'automazione di Excel usando Open XML, come Table Markup in Open XML SpreadsheetML. Nota su Open XML: sebbene sia il metodo preferito da molti, non è necessario utilizzare l'SDK Open XML: è sufficiente utilizzare lo System.IO.Packaging per accedere ai file di Excel 2007/2010.

Inoltre, spesso trascurato, ma i frammenti di Excel disponibili per VSTO, Open XML e lo sviluppo di Interop sono ottimi. 1, 2,

Inoltre, controllare i campioni Excel per VB @http://msdn.microsoft.com/en-us/library/8x19fbw1(v=VS.90).aspx. Questi vengono installati con VS quando si sceglie VB come lingua durante l'installazione.

Aggiornamento: Appena scoperto il Quadro di codici all-in-one (Office) che ha molte grandi classi di helper di Excel. Puoi trovarlo su: http://1code.codeplex.com/releases/view/51868.

+0

questa è probabilmente la migliore risposta fino ad oggi. Il framework All-in-one è interessante e ha un'implementazione molto buona dei pattern di pulizia dell'interop di COM. def. vale la pena controllare. –

2

Per i progetti VSTO:

http://www.add-in-express.com/

non VSTO, non l'automazione:

http://www.html-to-pdf.net/excel-library.aspx

Nota: nessuna di queste librerie è gratuita.

+0

Mentre queste sono entrambe le librerie grandi, la domanda riguardava le librerie helper di Excel invece dei componenti di terze parti standardizzati che usano i propri modelli/API degli oggetti. Ho modificato la mia domanda per renderla più chiara. –

3

VSTO Power Tools è una buona serie di utility per lavorare con Excel:
http://msdn.microsoft.com/en-us/magazine/dd263100.aspx

+0

sì questi sono strumenti grandi ed essenziali li uso costantemente. Tuttavia ero più alla ricerca di librerie di supporto piuttosto che di strumenti di sviluppo per l'IDE. Sebbene in riflessione, gli spazi dei nomi delle estensioni forniscono alcuni metodi di estensione molto utili. che sono superiori a rotolare il tuo. –

3

ExcelDNA è un progetto molto cool. Offre un modo leggero di utilizzare il codice .NET da Excel, con un modello di implementazione molto più semplice di VSTO. Ho trovato un'alternativa interessante a VSTO se si desidera scrivere UDF in .NET, ad esempio.

+0

sì, questo è un buon punto. Ho intenzione di modificare la domanda dal momento che avevo intenzione di porre questa domanda su ciò che le libagioni hanno scritto per il lavoro di sviluppo VSTO piuttosto che su alternative e alternative di libreria di terze parti. –

2

C'è uno chiamato FileHelpers che consente di salvare i dati di Excel come CSV e la libreria FileHelpers può facilmente analizzare le informazioni e così via, sicuro che potrebbe non essere completamente automatizzata di Excel, ma è un buon modo per analizzare.Se stai parlando di poter gestire Excel in modo nativo binario, questo article da CodeProject potrebbe essere d'aiuto, anche qui, è BIFF parser che comprende l'archiviazione dati excel sottostante e anche here su CodeProject.

+0

grazie questa è una buona risposta. –

+0

non è automazione. –

+0

molto vero Sergey, tuttavia a causa di due importanti scenari di necessità di accelerare a volte l'accesso in lettura/scrittura dei file di Excel e, talvolta, rimuovere dipendenze dalla libreria dei tipi/PIA questa è una risposta utile. –

2

Con .net 4.0 parole chiave dinamiche di scrittura L'automazione di Excel è facile da morire.
Se si desidera intellisense, è possibile scrivere facilmente C# wrapper sulle chiamate dinamiche.

AGGIORNAMENTO
Stiamo lavorando con l'automazione di Excel dal 2001 (sviluppo di componenti aggiuntivi finanziari) .Da Excel 2000 fino al 2010.

E tutti noi sappiamo che l'interoperabilità standard di semplicemente non funziona quando il codice dovrebbe funzionare con tutti versioni e service pack di Office.

Abbiamo battuto molte volte le librerie di interoperabilità personalizzate, le versioni VSTO, ecc. Dopo un anno abbiamo trovato una soluzione unica che funziona - chiama tutta l'automazione tramite chiamate in ritardo (riflessione). Ad esempio ('' codice del blocco note '') Type.GetTypeFromProgId('Excel.Application').GetMethod('Visible').Invoke(....).

Ma il codice era molto grande e brutto, quindi è sufficiente avvolgere quel brutto codice con il modello oggetto copiato da Excel 1: 1. Quando abbiamo bisogno di un nuovo metodo, lo aggiungiamo al nostro modello Oggetto Excel e chiamiamo l'automazione excel tramite una chiamata in ritardo.

Con la nuova parola chiave dinamica è possibile vivere senza wrapper, specialmente con il supporto dinamico di Resharper.

+0

la domanda riguardava le librerie che ppl ha scritto per l'automazione di Excel, non le funzionalità linguistiche disponibili in .net 4 per lavorare con l'automazione di Excel. avete qualche esempio di utilizzo di .net 4? –

+0

@Anonimo Tipo vedi aggiornamento. –

+0

molto bello. bel lavoro Sergey capisco perché sei un fan di .NET 4.0 –

2

preferisco questo uno:

Excel Package on CodePlex

utilizza l'Open XML, senza necessità di un ufficio installare sul computer (può o non può fattore), ma ho trovato molto facile utilizzare e impostare.

Problemi correlati