Domanda

Devo progettare un piccolo progetto per generare report Excel in .NET, che verranno inviati agli utenti per l'utilizzo.

I rapporti Excel conterranno tabelle pivot.

Non ho molta esperienza con loro, ma posso pensare a tre alternative di implementazione:

  1. Imposta una query per esso, popolala, inviala disconnessa.In questo modo l'utente potrà raggruppare i valori e giocare un po', ma non potrà aggiornare i dati.
  2. Genera un piccolo database di accesso e invialo insieme al file Excel, connettiti ad esso.
  3. Copia i dati in Excel (magari in qualche altro foglio) e connettiti ai dati lì.Penso che questo renderà il file Excel molto grande.

Quale sarebbe la migliore alternativa in termini di prestazioni rispetto a usabilità?C'è un'altra alternativa che non conosco?

È stato utile?

Soluzione

Poiché si tratta di un piccolo progetto, puoi fare affidamento su Excel per l'archiviazione dei dati dall'applicazione.Sarà più facile da sviluppare e testare e più semplice da mantenere.

Altri suggerimenti

@Espo

No, gli utenti non avranno accesso all'origine dati originale, ecco perché sto valutando la possibilità di creare un piccolo database di accesso con il sottoinsieme di dati richiesto per il report

È necessario mantenere i dati "offline"?

Ciò che faccio di solito in questi casi in cui hai molti dati è utilizzare un server SQL esistente già sulla rete.Se deve essere utilizzato in ufficio, gli utenti lo faranno comunque online.

Ricorda solo di creare un utente dedicato con accesso limitato sul server SQL per questo rapporto e di non memorizzare la password "sa" nel file Excel.

Se per "inviato agli utenti" intendi utenti esterni all'ufficio, questa non sarebbe una buona soluzione.Se è così, proverei a includere i dati nel foglio Excel e vedere quanto diventeranno grandi.Questa sarà la soluzione più intuitiva se il file non è troppo grande.

Inoltre ho trovato questo in rete: Diversi modi di utilizzare le query Web in Microsoft Office Excel 2003.Ciò ti consentirà di archiviare i dati su un sito Web pubblico (con un URL segreto se lo desideri) e quindi consentire a Excel di estrarre i dati.In questo modo non dovrai riempire la casella di posta degli utenti con file di grandi dimensioni e potrai anche aggiornare i dati in un secondo momento senza inviare nuovamente il file Excel.

L'opzione 3 sembra la più semplice e avrei pensato che Excel fosse come se non più efficiente di Access per l'archiviazione dei dati.Il problema con due file è che i collegamenti tra loro funzionino anche in una posizione diversa.

@paulmorriss

Forse...il problema è che ci sono limitazioni sulla quantità di dati che un singolo foglio può contenere...Sto pensando all'opzione 2, a meno che qualcuno non mi dica che non è una buona idea per quanto riguarda le prestazioni

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