56 messaggi dal 03 agosto 2005
Ciao a tutti,

Ho un file excel che contiene 16 colonne e più di 400 righe e vorrei importare su un db mssql i dati.

se scrivo un codice "non dinamico" del tipo:


intRiga=2
intCol=1

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

Set objWorkBook = objExcel.Workbooks.open("C:\inetpub\wwwroot\personale\upload_excel\utenti.xls")

objWorkBook.Worksheets(1).Activate

do

var1=objWorkBook.Worksheets(1).Cells(intRiga,1).value
var2=objWorkBook.Worksheets(1).Cells(intRiga,2).value
var3=objWorkBook.Worksheets(1).Cells(intRiga,3).value
var4=objWorkBook.Worksheets(1).Cells(intRiga,4).value
var5=objWorkBook.Worksheets(1).Cells(intRiga,5).value
var6=objWorkBook.Worksheets(1).Cells(intRiga,6).value
var7=objWorkBook.Worksheets(1).Cells(intRiga,7).value
var8=objWorkBook.Worksheets(1).Cells(intRiga,8).value
var9=objWorkBook.Worksheets(1).Cells(intRiga,9).value
var10=objWorkBook.Worksheets(1).Cells(intRiga,10).value
var11=objWorkBook.Worksheets(1).Cells(intRiga,11).value
var12=objWorkBook.Worksheets(1).Cells(intRiga,12).value
var13=objWorkBook.Worksheets(1).Cells(intRiga,13).value
var14=objWorkBook.Worksheets(1).Cells(intRiga,14).value
var15=objWorkBook.Worksheets(1).Cells(intRiga,15).value
var16=objWorkBook.Worksheets(1).Cells(intRiga,16).value

intRiga=intRiga+1

[codice per inserire i dati su db sql]

loop until objWorkBook.Worksheets(1).Cells(intRiga,intCol)=""


il tutto funziona alla perfezione ma, non saprei come rendere "dinamico" il codice in modo tale da non dovermi preoccupare del numero di colonne e di righe da prelevare da excel

Qualcuno saprebbe darmi una mano?

Grazie mille in anticipo,

Alex
301 messaggi dal 31 maggio 2006
ciao
accedi al foglio excel come se fosse un db, usa OleDb.OleDbConnection.
56 messaggi dal 03 agosto 2005
purtroppo questo sistema non mi risolve il problema in quanto, il tutto dovrò inserirlo in un'applicazione dove l'utente sceglierà il file excel, che quindi non avrà mai lo stesso nome..
uplodando il file, l'applicazione dovrà recuperarne il nome e da li prendere i dati e portarli su mssql.
Tra le altre cose ho provato ad utilizzarlo come db ma senza grandi risultati...
301 messaggi dal 31 maggio 2006
ciao


il tutto dovrò inserirlo in un'applicazione dove l'utente sceglierà il file excel, che quindi non avrà mai lo stesso nome.. uplodando il file, l'applicazione dovrà recuperarne il nome e da li prendere i dati e portarli su mssql.


il nome è un parametro nella stringa di connessione, quindi non hard coded; il foglio deve solo avere gli stessi nomi per i fogli e le intestazioni di colonna



Tra le altre cose ho provato ad utilizzarlo come db ma senza grandi risultati...


non so cosa ti aspettavi, ma il poter fare query parametriche sui fogli è utile nei casi di importazione come il tuo
Modificato da gghi il 01 dicembre 2008 17.33 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.