Automatizzare le procedure quotidiane [chiuso]

-3

Esiste un modo per automatizzare l'esecuzione di VBA in Excel per ripulire il file dall'interno di un'applicazione?

Ogni giorno il mio ufficio deve confermare che 50 persone si sono presentate per lavoro in orario. Il software di pianificazione che utilizziamo ci consente di eseguire un report ed esportare in 4 tipi di file: HTML, RTF, CSV e un file di testo. Per quello che sto cercando di fare ho deciso di utilizzare l'esportazione di valori separati da virgola. Sono in grado di importare quel CSV in Excel, pulirlo, quindi importare i risultati in MSSQL. Quello che sto cercando di fare è eseguire quella sezione senza alcuna interazione umana, se non specificando il nome del file del CSV. La mia lingua preferita è C #, ma sono flessibile.

    
posta Fadebent 27.09.2014 - 02:42
fonte

1 risposta

4

È possibile utilizzare SQL Server per importare direttamente file CSV senza dover passare da Excel per eseguire "pulizia dati".

Esistono diversi metodi per importare i dati:

  • Il comando Inserimento di massa di T-SQL per caricare un file CSV. Un buon esempio è mostrato in Importa file CSV in SQL Server su StackOverflow.
  • SQL Server Management Studio che può essere automatizzato tramite SSIS. Importazione dei dati utilizzando SQL Server Management Studio
  • comando bcp utilità di riga. Dovrebbe essere facile esportare il file CSV in un singolo nome file, che può quindi essere programmato per essere eseguito automaticamente.
  • SQL Server Integration Services (SSIS) che è stato progettato per caricare i dati da varie fonti. Versioni differenti (ad esempio, 2005, 2008, 2008 R2, ecc.) Di SQL Server hanno diversi livelli di funzionalità. Si prega di fare riferimento alla documentazione corretta per la propria versione.
  • Infine, tira il tuo:
    • In un ambiente VBA (come Excel) è necessario utilizzare Visual Basic, Applications Edition poiché C # non è supportato.
    • Un'applicazione standalone può caricare il CSV, creare una connessione al database ed eseguire INSERT (se si utilizza SQL per ottenere i dati lì). Facoltativamente, puoi utilizzare un Mapping relazionale degli oggetti ( nHibernate e Entity Framework sono due ORM molto popolari) per caricare i tuoi dati.
risposta data 27.09.2014 - 03:23
fonte

Leggi altre domande sui tag