Por exemplo, o Python possui o pandas.read_excel
, mas o SQL possui uma função como essa? É possível especificar o caminho do arquivo Excel no computador para realizar a leitura dos dados? Como evitar a escrita de muitas linhas?
Por exemplo, o Python possui o pandas.read_excel
, mas o SQL possui uma função como essa? É possível especificar o caminho do arquivo Excel no computador para realizar a leitura dos dados? Como evitar a escrita de muitas linhas?
Sim, o SQL Server possui uma função como o pandas.read_excel. A função é chamada de OPENROWSET. A sintaxe da função é a seguinte:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; Database=C:\path\to\file.xlsx', 'SELECT * FROM [Sheet1$]');
A função OPENROWSET lê os dados do arquivo Excel e os retorna como uma tabela. O caminho do arquivo deve ser especificado entre aspas duplas. O nome da planilha deve ser especificado entre colchetes retos.
Se você quiser evitar a escrita de muitas linhas, você pode usar a cláusula TOP na função OPENROWSET. A cláusula TOP especifica o número de linhas que devem ser lidas do arquivo Excel. Por exemplo, a seguinte consulta lê as primeiras 10 linhas do arquivo Excel:
SELECT TOP 10 * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; Database=C:\path\to\file.xlsx', 'SELECT * FROM [Sheet1$]');
A função OPENROWSET também possui outras cláusulas que podem ser usadas para controlar como os dados são lidos do arquivo Excel. Para obter mais informações sobre a função OPENROWSET, você pode consultar o manual do SQL Server.