Come leggere i valori da Excel utilizzando Openrowset funzione?
-
09-10-2019 - |
Domanda
Sto leggendo foglio Excel tramite la funzione OPENROWSET?
foglioIl mio Excel ha un valore numerico nel tipo generale Colonna. Per qualche ragione questi valori sono portati sopra come i valori nulli, anche se essi hanno un valore. Io non sono sicuro perché questo sta accadendo. Ho guardato nel formato dei campi e sono impostati al generale in Excel, li ho provato a installare al testo e che non ha aiutato.
Ho cercato di portare il contenuto dalla sorgente di Excel in un file di testo in formato csv e per qualche motivo il campo di testo che contiene valore numerico è venuto fuori come vuota (NULL).
Eventuali ingressi su come ottenere questo affrontato sarà molto apprezzato.
SET @Cmd = 'INSERT INTO Table_01
SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=' + @ExcelFilePath + ''',
''SELECT * FROM [Sheet1$]'')'
EXEC(@Cmd)
Soluzione
Questo è a che fare con TypeGuessRows e IMEX:
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;HDR=YES;IMEX=1;Database=x.xls',
'SELECT * FROM [Sheet2$]');
TypeGuesssRows sono disponibili all'indirizzo:
HKEY_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/
Un valore 0 indica tutte le righe.