Domanda

Ho bisogno di manuplate una cartella di lavoro foglio Excel (aggiungere fogli / aggiungere dati / Nascondi colonne / proteggere le cellule con la password Campo / modificare il contenuto / etc etc)

dovrei usare gli oggetti COM fornito da Microsoft (ma poi penso di avere qualche problema in uso nel asp.NET)

o c'è una buona (commurcial o libero) library / plug-in da utilizzare per fare questo tipo di attività.

Si prega di aiutare

È stato utile?

Soluzione

provare componente di terze parti diffusione Foglio Gear

http://www.spreadsheetgear.com/

Altri suggerimenti

Il modo più semplice che ho trovato è quello di utilizzare la Excel formato XML . In questo modo è possibile modificare un foglio di Excel come qualsiasi altro file XML. Per vedere come Excel nasconde le colonne o le protegge con una password, fare quelle cose manualmente e vedere come Excel li salva in formato XML. Questo è un gioco da ragazzi per codificare fino, è roccia stabile, ed è veloce.

Manipolare file nativi di Excel è più difficile: è possibile utilizzare gli oggetti COM con il noreferrer assembly di interoperabilità primari . Nella mia esperienza questo è molto difficile da ottenere. Nel migliore dei casi, Excel lascia vecchie copie di se stesso in giro, che è possibile attenuare con un ripristino del server notturno, in. Nel peggiore dei casi, Excel in modo casuale appendere, rendendo il vostro sito web non risponde.

Un altro modo per lavorare con i file nativi di Excel è Visual Studio Tools per Office . E 'certamente più facile da usare rispetto interoperabilità COM, e funziona meglio da Visual Basic:

Application.Workbooks.Open("Workbook.xls")

C # manca parametri opzionali, e l'apertura di una cartella di lavoro si trasforma in qualcosa di un brutto scherzo:

Application.Workbooks.Open(@"Workbook.xls",
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,missing, missing);

Non mi tuffo molto lontano in VSTO perché la manipolazione XML ha funzionato così bene per me. Forse altre persone possono commentare come va a finire in un sito Web ASP.NET.

SpreadsheetGear si ha accesso completo al documento Excel e tutte le funzionalità macro tra cui la capacità di proteggere e non-proteggere le cellule, colonne, ecc Abbiamo la stessa cosa si sta descrivendo se non in WinForms.

Abbiamo usato gli oggetti COM e non posso consigliarlo. Su grosso problema è che gli oggetti non vengono mai rilasciati ...

Ora utilizziamo il componente dal software Gembox. Lo hanno utilizzato per due anni e funziona bene, è un po 'meno che quella metioned sopra, che non conoscevo prima di vederla qui.

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