簡體   English   中英

使用select into將所選信息從excel導入到SQL

[英]Importing selected information from excel to with SQL with select into

我正在嘗試從特定文件中導入特定信息,並將其放入工作簿中。

讓:

“ Bluelake.xlsm”將是文件名(工作簿)“ Time”將是工作表信息在表“ C3”至“ C8”中。

sql表的參數為:

TableName:processStatus
列:processStatus,值是:varchar(32)/任何字符串

我的問題:

  1. 提供特定的excel坐標后,代碼應如何顯示
  2. 如何合並變量定義varchar(32)

我知道“插入”的書呆子示例:

INSERT INTO table_name(column1,column2,column3,...)VALUES(value1,value2,value3,...);

不幸的是,我不知道如何擴展它。

先感謝您。

INSERT INTO processStatus (processStatus1, processStatus2, processStatus3
            ,processStatus4, processStatus5, processStatus6)
SELECT (C3, C4, C5, C6, C7, C8)
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                'Excel 12.0;HDR=YES;Database=Bluelake.xlsx',
                'select * from [Time$]');

注意:如果實際上在Excel工作表中已命名列,則需要在此處替換它們。

而且您沒有為processStatus表提供列名,因此我用通用名稱替換了它們,您也需要在代碼中替換它們。

您的“數據庫”必須是Excel文件的標准文件路徑。

最后,如果確實需要更改數據類型,則需要CAST每列。 例如:

CAST(C3 AS VARCHAR(32))

希望這可以幫助!

編輯:另一件事,您可能需要為XLSX使用不同的OLEDB驅動程序。 如果它是一個簡單的電子表格,則可能更容易從Excel中另存為舊格式(XLS)。 或者,您可以更進一步,使用SQL導入向導將Excel數據放入表中,然后您的INSERT INTO語句將更加簡化,因為您只需從表中進行選擇,而不使用OPENROWSET來查詢Excel文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM