Domanda

Sto leggendo foglio Excel tramite la funzione OPENROWSET?

foglio

Il 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)
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top