2013-04-17 146 views
8

Tôi có một rất đơn giản trội tờ:Di chuyển dữ liệu từ Excel sang SQL Server bảng

enter image description here

Tôi muốn đưa dữ liệu này vào một bảng trong SQL Server. Tôi cũng muốn thêm một trường có chứa một ngày tháng.

cách tốt nhất để làm điều này là gì?

+2

Đi vào SQL Server Management Studio. Nhấp chuột phải vào cơ sở dữ liệu nơi bạn muốn bảng, nhấp vào 'Tác vụ -> Nhập dữ liệu' và sử dụng trình hướng dẫn nhập. –

+1

bạn nên đặt câu trả lời này làm câu trả lời để tôi có thể chấp nhận nó – jth41

+1

. . Một bình luận kỳ lạ vì bạn đã chấp nhận câu trả lời của người khác. –

Trả lời

-2

Mở phần mềm giao diện máy chủ SQL của bạn, thêm trường ngày vào bảng.

Chuyển đến excel, thêm cột ngày tháng, sao chép dữ liệu excel.

Đi tới phần mềm giao diện máy chủ SQL của bạn và sử dụng chức năng để nhập dữ liệu từ khay nhớ tạm. (Máy chủ giao diện phần mềm SQL có đây là ví dụ Database4.net, nhưng nếu bạn có một gói khác với các chức năng sau đó sử dụng đó.)


Hoặc sử dụng VBA với DOA hoặc ADO để tương tác với cơ sở dữ liệu SQL server và sử dụng câu lệnh SQL để thêm lĩnh vực này và sao chép dữ liệu vào bảng

+0

Không có ý kiến ​​tại sao downvote, bất kỳ lời giải thích sẽ hữu ích –

+0

Tôi đã không downvote bạn, nhưng tôi đoán đó là vì câu trả lời của bạn quá mơ hồ để có ích: nó có thể được tóm tắt như "tìm một công cụ có thể nhập dữ liệu của bạn và sử dụng nó ". "Phần mềm giao diện máy chủ SQL" có nghĩa là gì? "Database4" là gì? Bạn đã nói "sử dụng chức năng để nhập dữ liệu", nhưng * chức năng * đó là gì? – Pondlife

+0

ah, có thể là vậy. Vâng, nó không rõ ràng với tôi bạn đã có SQL Server Management Studio theo ý của bạn vì vậy tôi giữ rằng khá chung chung. –

2

Lựa chọn 1:

đọc dữ liệu trong một IDataReader, và sau đó gọi một stored procedure để chèn dữ liệu.

http://granadacoder.wordpress.com/2009/01/27/bulk-insert-example-using-an-idatareader-to-strong-dataset-to-sql-server-xml/

tôi sử dụng trên khi tôi có rất nhiều ~~ ~~ hàng để nhập khẩu và tôi muốn xác nhận họ bên ngoài của cơ sở dữ liệu.

Phương án 2:

http://support.microsoft.com/kb/321686

hoặc tìm kiếm:

Select FROM OPENDATASOURCE Excel 

Lựa chọn N:

Có những lựa chọn khác ngoài kia.

Tùy thuộc vào những gì bạn thích, bạn muốn bỏ bao nhiêu thời gian vào đó, đó là "một lần" hoặc bạn phải làm điều đó cho 333 tệp mỗi ngày.

6

Trước tiên, bạn có thể tạo bảng trong SQL Server với trường được thêm và sau đó sử dụng trình hướng dẫn nhập trong Studio Mangement để nhập tệp excel. Hoặc bạn tạo bảng trong khi nhập nhiệm vụ và sau đó bạn thêm trường mới.

+2

chỉ để thêm vào điều này, câu thứ hai được thực hiện bằng cách nhấp chuột phải vào cơ sở dữ liệu -> Nhiệm vụ -> Nhập dữ liệu ... Từ đây bạn có thể chọn một tài liệu Excel và SSMS sẽ lấy được các kiểu dữ liệu thông minh dựa trên dữ liệu bạn có bảng tính của bạn. tức là nếu cột trong Excel thuộc loại "Tiền tệ", cột đó sẽ được tạo bằng loại "Tiền". – btm86042

9

Tạo bảng trong máy chủ SQL có cùng số trường mà bạn có trong bảng tính.

Trong SQL Server Management Studio Object Explorer, bạn có thể nhấp chuột phải vào bảng bạn đã tạo và chọn "Chỉnh sửa 200 hàng trên cùng". Đánh dấu dữ liệu bạn muốn sao chép trong Excel và nhấp chuột phải -> sao chép. Nhấp chuột phải vào khoảng trống bên trái của hàng đầu tiên trong phần chỉnh sửa và dán góa phụ của SSMS.

Sau khi nhập, hãy kiểm tra bảng SQL để đảm bảo nó có cùng số lượng hàng như bảng tính.

Bạn có thể thêm cột ngày vào bảng SQL sau khi bạn nhập dữ liệu.Hoặc thêm nó vào bảng tính trước khi bạn nhập.

+0

Không thể làm cho trình hướng dẫn nhập hoạt động, nhưng thao tác này hoạt động như một sự quyến rũ! –

+0

Cảm ơn bạn rất nhiều! – Gurusinghe

0

Nó cũng có thể được thực hiện bằng cách tạo một tập tin thực thi.

Đối với điều này, bạn đã cần phải có một bảng được tạo trên máy chủ với cấu trúc dữ liệu giống như bạn có trong excel.

Bây giờ sử dụng BCP, bạn có thể nhập dữ liệu đó từ tệp excel và chèn nó vào bảng sql.

chức năng tiện ích BCP

sqlcmd -S IP -d databasename -U username -P passwd -Q "SQL query mostly it should be truncate query to truncate the created table" 
bcp databasename.dbo.tablename in "Excel file path from where you need to input the data" -c -t, -S Server_IP -U Username -P passwd -b provide batch size 

Bạn có thể tham khảo liên kết dưới đây để lựa chọn hơn về các tiện ích BCP:

https://msdn.microsoft.com/en-IN/library/ms162802.aspx

0

Giải pháp của tôi là để chuyển đổi .xlsx để .csv và sau đó sử dụng this site để chuyển đổi .csv thành .sql. Sau đó tôi chạy tệp sql trong máy chủ sql và tạo các bảng của tôi.

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