La trasformazione programmatica dei fogli di Excel non è la strada da percorrere. Esaminerò completamente l'intera procedura e utilizzerò un database come origine dati per i rapporti.
O consentire agli utenti di inserire i dati di origine direttamente nel database tramite un'applicazione appropriata o di importare i dati di Excel nel database (in un processo automatizzato).
Una volta che i dati sono nel database, puoi inserire i dati nella forma corretta utilizzando le query del database. Questo è molto più semplice di manipolare le celle in un foglio Excel a livello di programmazione. In base a queste query è possibile creare report utilizzando un generatore di report (commerciale). I generatori di report moderni possono creare report in vari formati tra cui un'anteprima dello schermo, PDF, HTML, RTF e persino Excel.
Vai lontano da questo bricolage di Excel.
Uno dei principali svantaggi di Excel è che i dati non hanno una struttura predefinita. Gli utenti possono inserire i dati in qualsiasi modo desiderano da altamente organizzati a completamente caotici. Ciò rende estremamente difficile elaborarlo a livello di codice. D'altra parte, un database ha tabelle predefinite con colonne predefinite, tipi di colonne predefiniti e relazioni predefinite tra le tabelle, il che rende molto più facile l'implementazione degli automatismi, poiché si ha una solida base su cui lavorare. Mentre i fogli di Excel possono essere distribuiti tra diversi file system e cartelle e possono avere nomi casuali, un database si trova di solito in un posto centrale e unico e accessibile attraverso una stringa di connessione predefinita.
I fogli di Excel possono essere molto sofisticati, ma non sono scalabili. Sto sviluppando software professionalmente. Molti dei miei progetti di database (incluse le applicazioni come front-end) sono iniziati con i fogli Excel che ho ricevuto dai clienti. Erano molto abili nella creazione di fogli complessi. Ma raggiunsero un punto in cui il foglio diventava troppo complesso e difficilmente poteva evolversi ulteriormente. Il problema principale è che i set di dati complessi contengono quasi sempre relazioni da 1 a n e questi possono solo essere riprodotti molto male in un foglio di calcolo. Un foglio di calcolo è fondamentalmente adatto solo per dati flat. Inoltre, la presentazione e la struttura sono le stesse in Excel. Ma spesso hai bisogno di diverse valutazioni e presentazioni degli stessi dati. Ecco dove entrano in gioco i database (back-end) con un'applicazione appropriata (front-end) e i generatori di report.