2008-12-03 92 views
5

Tôi đang cố gắng chuyển đổi một tài liệu Excel thành một bảng trong SQL 2005. Tôi tìm thấy liên kết dưới đây và tôi tự hỏi nếu nó trông giống như một giải pháp. Nếu vậy, cú pháp @excel_full_file_name sẽ như thế nào và đường dẫn sẽ liên quan đến đâu?Tạo một bảng SQL từ một tệp xls (Excel)

http://www.siccolo.com/Articles/SQLScripts/how-to-create-sql-to-convert-Excel_to_table.html

Trả lời

6

Bạn có thể sử dụng lệnh BULK INSERT T-SQL nếu bạn chỉ muốn một giải pháp sql thuần túy. Bạn phải lưu tệp dưới dạng csv/text trước.

BULK 
INSERT YourDestinationTable 
     FROM 'D:\YourFile.csv' 
      WITH 
    (
       FIELDTERMINATOR = ',', 
       ROWTERMINATOR = '\n' 
    ) 
GO 

Hoặc, bạn có thể thử OPENROWEST - một lần nữa, một giải pháp T-SQL thuần túy.

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;DATABASE=D:\YourExcelFile.xls', 'Select * from YourExcelFile') 

Nó thực sự phụ thuộc vào mức độ kiểm soát và tính linh hoạt bạn muốn, tuyến đường SSIS sẽ có lợi ích hơn các phương pháp này.

2

Liếc qua mã này, tôi mong chờ nó là tên đường dẫn đầy đủ của tài liệu excel:

Ví dụ: c: \ path \ to \ của tôi \ excel \ document.xls

Tôi chưa cài đặt quy trình mặc dù hoặc chạy nó, vì vậy tôi có thể sai - nhưng đó là những gì nó xuất hiện để được ở cái nhìn đầu tiên.

1

Tôi khuyên bạn nên sử dụng Gói SSIS/DTS để chuyển đổi. Nó dễ dàng hơn nhiều.

SSIS Excel example

** lưu ý rằng ví dụ này đang sử dụng trình hướng dẫn. bạn có thể lên lịch gói SSIS/DTS như một công việc để chạy, trên hộp SQL của bạn.

0

This example sao chép dữ liệu từ SQL sang Excel. Nhưng nó chỉ là một vấn đề trao đổi các nhà cung cấp OleDb để làm cho nó hoạt động theo hướng ngược lại.

Các vấn đề liên quan