Frage

Ich lese Excel-Blatt mit OPENROWSET-Funktion?

Mein Excel-Blatt hat numerischen Wert in Allgemein Spalte. Aus irgendeinem Grund werden diese Werte als NULL-Werte gebracht über, obwohl sie eine Werte haben. Ich bin nicht sicher, warum dies geschieht. Ich sah in das Format der Felder, und sie sind an General in Excel festgelegt, habe ich versucht, sie zu Texteinstellung und das hat nicht geholfen.

Ich habe versucht, die Inhalte aus der Excel-Quelle in eine Textdatei im CSV-Format zu bringen, und aus irgendeinem Grunde das Textfeld einer numerischen Wert herauskam als leer (NULL) enthält.

Alle Eingänge auf immer diese angesprochen werden sehr geschätzt werden.

SET @Cmd = 'INSERT INTO Table_01
                SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=' + @ExcelFilePath + ''',
                ''SELECT * FROM [Sheet1$]'')'
    EXEC(@Cmd)
War es hilfreich?

Lösung

Dies ist mit TypeGuessRows und IMEX zu tun:

OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;HDR=YES;IMEX=1;Database=x.xls',
'SELECT * FROM [Sheet2$]');

TypeGuesssRows finden Sie unter:

HKEY_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/

Ein Wert von 0 bedeutet alle Zeilen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top