Ciao a tutti, sto scrivendo un programma in C# che dovrebbe fare la seguente cosa ma non so che strumenti utilizzare per farlo bene. Praticamente:
- ho diversi file excel (xls e xlsx) ognuno contenenti più fogli, ma ogni foglio di ogni excel ha la stessa struttura (stessi nomi colonna, stesso tipo di colonne) che però non è noto a priori.
- l'applicazione deve cercare automaticamente tutti i fogli di tutti gli excel [A]
- importarli in un db interno (o su un file di appoggio) [B]
- creare una tabella interna contenente l'unione di tutti i fogli (intendo accodando) [C]
- visualizzare operazioni di aggregazione direttamente nel form dopo l'importazione (i.e. numero totale di righe caricate, ecc) [D]
- esportare la tabella risultato globale in un txt, in un particolare formato (i.e. campi a lunghezza fissa invece del classico separatore) [E].

I miei dubbi:
[A]: Ho visto che per leggere da excel ci sta l'assembly interop.excel, oppure il COM activex alla vecchia maniera in vba, oppure ci stanno moltissime librerie già pronte, ma non so bene cosa sia meglio usare;
[B]: Potrei provare on sqlite con il dbms in memory? C'è qualcosa di più adatto?
[C]: Qui dal momento che ho una odbcconnection o simili fare query dovrebbe essere facile;
[D]: Qui dovrei fare delle query e mostrare i risultati in qualche datagridview;
[E]: Qui non ne ho idea, praticamente dovrei passare dal dbms al txt un po' tipo l'esporta dati di access, ma non conosco come si può procedere.

Vi chiedo, avete dei consigli/suggerimenti da darmi su come procedere e con che strumenti? La principale difficoltà non è farlo ma sapere qual è la "migliore" cosa che posso utilizzare.

Grazie mille in anticipo