Domanda

Abbiamo un'Excel 2002/XP applicazione che interagisce con SQL 2000/5 di processo abbastanza complesso calcoli attuariali.L'applicazione esegue la sua funzione, ma è difficile da gestire.

Stiamo cercando di creare un "controllore" dell'applicazione o servizio in grado di gestire e monitorare queste diverse istanze di Excel (start/stop/processo comandi ecc) ma è un po ' di Interoperabilità incubo, purtroppo.

Qualcuno ha un buon (es.di lavoro) esempio di fare qualcosa di simile a questo VB.Net o C#?

È stato utile?

Soluzione

Non farlo!

Abbiamo cercato per settimane per ottenere qualcosa di simile al lavoro che, semplicemente, non funzionano come pubblicizzato.Non ancora di iniziare - dare immediatamente!

Le uniche opzioni che si hanno veramente pesanti lato server MOSS implementazione basata su Excel (Web), servizi (lo chiamano qualcosa di simile).Basato su Windows COM interoperabilità di Excel è praticamente morto e sarà sostituito da MOSS.

L'altra opzione è quella di utilizzare SpreadsheetGear.In realtà è un prodotto fantastico

  1. È lightlingly veloce
  2. Il motore è separato dall'interfaccia utente, in modo che si può utilizzare per fare Excel cose lato server (con office non è installato)
  3. Abbastanza a buon mercato
  4. Ha un'API simile a Excel esistente COM api quindi spostare il codice è relativamente facile

Tutto dipende dalle formule di cui avete bisogno nel vostro foglio di calcolo.Guarda l'elenco formula per il Foglio di Marcia e se c'è una corrispondenza andare per esso.

Altri suggerimenti

Interoperabilità funziona bene, tranne che si finisce sempre con riferimenti a oggetti di Excel che non sono rilasciati, in modo da istanze di Excel non si chiude.Il seguente articolo spiega perché:

http://support.microsoft.com/default.aspx/kb/317109/EN-US/

È possibile evitare il problema se si dispone di molto attentamente il codice scritto per un insieme limitato di scenari di Interoperabilità.Ma in generale è molto difficile farlo funzionare in modo affidabile.

Si potrebbe desiderare di dare un'occhiata a questo prodotto: http://www.spreadsheetgear.com/products/spreadsheetgear.net.aspx

E ' tutto il codice gestito e diretto .NET librerie.No Interoperabilità mal di testa.Non ho usato personalmente, ma ho sentito cose molto buone da parte di persone nel mondo della finanza.

Abbiamo scritto un servizio che consente di controllare una singola istanza di Excel 2003.Non siamo mai riusciti ad ottenere istanze di Excel per chiudere correttamente, quindi all'inizio di un caso, quando il servizio viene eseguito il primo accesso e uso solo quella, la serializzazione delle richieste del cliente.

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