giusy_m86 (Normal User)
Pro
Messaggi: 143
Iscritto: 09/07/2008
|
Salve,
ho la necessità di estrarre alcuni dati da un file .csv e copiarli in uno .xls.
Ho scritto la seguente routine
Codice sorgente - presumibilmente VB.NET |
Dim oRng2 As Object 'file di destinazione Set cartExcel_dest = Excel.Workbooks.Open("C:\Documents and Settings\...xls") Set foglio_dest = Excel.Worksheets.Item(1) 'file .xls Set cartExcel = Excel.Workbooks.Open("C:\Documents and Settings\....csv") Set foglioExcel = Excel.Worksheets.Item(1) Dim i As Integer Dim val_max As Integer Dim dati As String Dim Array_dati As Variant Dim dato As String i = 0 val_max = Val(valore_massimo) 'ricavato precedentemente For i = 0 To val_max oRng2 = foglioExcel.Cells(i + 280, 2) ' point x dati = oRng2 Array_dati = Split(dati, ";") dato = Array_dati(1) foglio_dest.Cells(i + 55, 1).Value = dato Next i cartExcel.Close False cartExcel_dest.Save cartExcel_dest.Close False appExcel.Quit MsgBox "copia finita"
|
tutto funziona!!!
Il problema è il tempo! per copiare circa 1000 dati impiega 20 minuti!
Come posso velocizzare la scrittura?
|