Có thể bạn quan tâm: Hướng Dẫn Dùng Pivot Table Trong Excel 2026
Giới thiệu
Trong môi trường doanh nghiệp hiện đại, dữ liệu thường được lưu trữ và quản lý trong các bảng tính Excel vì tính linh hoạt và dễ sử dụng. Tuy nhiên, khi quy mô dữ liệu ngày càng tăng, việc lưu trữ trong SQL Server trở nên cần thiết để tận dụng các tính năng bảo mật, truy vấn mạnh mẽ và khả năng mở rộng. Để chuyển dữ liệu từ Excel sang SQL Server một cách hiệu quả, chúng ta cần hiểu rõ quy trình, các công cụ hỗ trợ, cũng như những lưu ý quan trọng khi thực hiện.
Bài viết này sẽ cung cấp một hướng dẫn chi tiết, từ cách chuẩn bị dữ liệu trong Excel, lựa chọn công cụ import phù hợp, thực hiện quá trình nhập dữ liệu, tới những bước kiểm tra và tối ưu hoá sau khi import. Bài viết được viết dành cho cả người mới bắt đầu lẫn những người đã có kinh nghiệm, với mục tiêu giúp bạn thực hiện thao tác import file Excel vào SQL Server một cách nhanh chóng, chính xác và tiết kiệm thời gian.
Có thể bạn quan tâm: Hướng Dẫn Cộng Trừ Nhân Chia Trong Excel
1. Tại sao nên chuyển dữ liệu từ Excel sang SQL Server?
1.1 Bảo mật và kiểm soát truy cập
SQL Server cung cấp các tính năng bảo mật nâng cao như xác thực Windows, xác thực SQL, mã hóa dữ liệu, và quyền truy cập chi tiết tới bảng, cột, hoặc thậm chí là các dòng dữ liệu nhất định. Trong khi đó, Excel thường được mở rộng trên nhiều máy tính mà không có cơ chế kiểm soát truy cập chính xác.
1.2 Khả năng mở rộng và tính toàn vẹn dữ liệu
SQL Server hỗ trợ hàng triệu bản ghi, các chỉ mục, ràng buộc khóa ngoại, và tính toàn vẹn dữ liệu (data integrity). Khi dữ liệu quy mô lớn, việc thao tác, tìm kiếm, và phân tích trong Excel trở nên chậm chạp và dễ gây lỗi.
1.3 Khả năng thực thi truy vấn phức tạp
Tính năng T-SQL cho phép thực thi các truy vấn phức tạp, join, group by, subquery, và các phép toán thống kê. Điều này làm cho SQL Server trở thành công cụ mạnh mẽ để phân tích dữ liệu, thay vì phải thao tác thủ công trong Excel.
1.4 Tích hợp với các hệ thống khác
SQL Server dễ dàng tích hợp với các ứng dụng doanh nghiệp, giao diện web, hoặc các công cụ BI như Power BI, SSRS, SSIS. Khi dữ liệu trong Excel, việc tích hợp trở nên rườm rà và dễ gây trục trặc.
Có thể bạn quan tâm: Hướng Dẫn Cách Sử Dụng Excel Cơ Bản: Từ Những Thao Tác Đầu Tiên Đến Kỹ Thuật Nâng Cao
2. Các công cụ hỗ trợ import Excel vào SQL Server
Có nhiều phương pháp và công cụ để thực hiện nhập dữ liệu, tùy thuộc vào nhu cầu và môi trường làm việc. Dưới đây là những phương pháp phổ biến nhất:
| Phương pháp | Công cụ | Ưu điểm | Nhược điểm |
|---|---|---|---|
| Import Wizard | SQL Server Management Studio (SSMS) | Dễ sử dụng, giao diện đồ họa | Đôi khi gặp lỗi khi dữ liệu phức tạp |
| BULK INSERT | T-SQL | Nhanh, linh hoạt | Phải chuyển đổi dữ liệu thành .csv |
| OpenRowset / OPENQUERY | T-SQL | Không cần tạo file tạm | Cần cài đặt odbc driver |
| SQL Server Integration Services (SSIS) | SSIS packages | Tự động hoá, hỗ trợ chuyển đổi dữ liệu | Đòi hỏi kiến thức SSIS |
| PowerShell + SqlBulkCopy | PowerShell script | Tự động hoá, dễ script | Cần kiến thức PowerShell |
| Third-party tools | như Navicat, DataGrip | Giao diện thân thiện | Phí bản quyền |
Trong bài viết này, chúng ta sẽ tập trung vào ba phương pháp phổ biến nhất: Import Wizard, BULK INSERT (bằng file CSV), và SSIS. Nếu bạn là người mới, Import Wizard là cách đơn giản nhất. Nếu bạn cần tự động hoá quy trình, SSIS và PowerShell là lựa chọn tốt. Nếu bạn muốn tối ưu tốc độ, BULK INSERT thường nhanh hơn.
3. Chuẩn bị dữ liệu trong Excel
Trước khi bắt đầu, hãy chắc chắn rằng dữ liệu trong Excel đã được chuẩn bị đúng định dạng:
- Dòng tiêu đề: Dòng đầu tiên của sheet phải chứa tên cột, không có ô trống.
- Cột liên tục: Không có cột trống giữa các cột dữ liệu chính.
- Giá trị hợp lệ: Loại bỏ các dữ liệu không hợp lệ, ví dụ: ô trống không cần thiết, ký tự đặc biệt không phải là dữ liệu.
- Định dạng dữ liệu: Định dạng ngày, số, văn bản phải nhất quán. Ví dụ: ngày tháng nên được lưu dưới dạng ngày (
mm/dd/yyyy) hoặc dạng chuỗi nhất định. - Không có bảng tính bảo vệ: Đảm bảo sheet không bị khóa hoặc bảo vệ.
3.1 Lưu file dưới định dạng phù hợp
- Nếu sử dụng Import Wizard trong SSMS, bạn có thể dùng file
.xlsxhoặc.xlstrực tiếp. - Nếu sử dụng BULK INSERT, bạn cần chuyển đổi sang file
.csv.
4. Phương pháp 1: Sử dụng Import Wizard trong SSMS
4.1 Bước 1: Mở SSMS và kết nối tới Database
Mở SQL Server Management Studio, kết nối tới instance và database mà bạn muốn nhập dữ liệu vào.
4.2 Bước 2: Chọn Import Wizard
- Chuột phải vào database > Tasks > Import Data…
- Trình wizard sẽ xuất hiện.
4.3 Bước 3: Chọn nguồn dữ liệu
- Data Source: Chọn
Microsoft Excel. - Excel file path: Browse đến file
.xlsx. - Excel version: Chọn phiên bản tương ứng.
- First Row has Column Names: Tick nếu dòng đầu tiên là tiêu đề.
4.4 Bước 4: Chọn đích
- Destination: Chọn
SQL Server Native ClienthoặcSQL Server. - Server name: Nhập server name.
- Authentication: Chọn Windows Authentication hoặc SQL Server Authentication.
- Database: Chọn database.
4.5 Bước 5: Chọn bảng/đối tượng
- Chọn sheet cần nhập.
- Tùy chọn:
Copy data from one or more tables or viewshoặcWrite a query to specify the data to transfer(nếu cần lọc dữ liệu).
4.6 Bước 6: Xác nhận cấu hình cột
- Bạn có thể điều chỉnh mapping cột, kiểu dữ liệu, kích thước. Kiểm tra kỹ lưỡng.
- Nếu cột có giá trị NULL, hãy đánh dấu
Allow null valuenếu cần.
4.7 Bước 7: Thiết lập tablename
- Đặt tên bảng mới hoặc nhập vào bảng đã tồn tại và chọn
AppendhoặcOverwrite.
4.8 Bước 8: Kiểm tra và chạy
- Xem lại summary, sau đó nhấn
Finish. - Màn hình tiến trình sẽ hiển thị tiến độ. Sau khi hoàn tất, bạn có thể kiểm tra dữ liệu bằng câu lệnh
SELECT FROM YourTable.
4.9 Lưu ý khi sử dụng Import Wizard

Có thể bạn quan tâm: Hướng Dẫn Chi Tiết Hàm Index Và Match Trong Excel: Cách Sử Dụng, Ví Dụ Và Mẹo Tối Ưu
- Kích thước file lớn: Wizard có thể gặp lỗi khi file > 4GB. Trong trường hợp này, hãy dùng BULK INSERT.
- Định dạng ngày: Đôi khi dữ liệu ngày bị sai định dạng. Kiểm tra kiểu dữ liệu cột trong bảng SQL Server.
- Quyền truy cập: Đảm bảo tài khoản SQL Server có quyền INSERT trên database và schema.
5. Phương pháp 2: Sử dụng BULK INSERT (tối ưu cho file lớn)
5.1 Bước 1: Chuyển đổi file Excel sang CSV
- Mở file Excel, chọn
Save As>CSV (Comma delimited). - Lưu file ở thư mục có thể truy cập được bởi SQL Server.
5.2 Bước 2: Tạo bảng trong SQL Server
CREATE TABLE dbo.Customer
( CustomerID INT, FirstName NVARCHAR(50), LastName NVARCHAR(50), Email NVARCHAR(100), Phone NVARCHAR(20), BirthDate DATE, CreatedDate DATETIME
);
Lưu ý: Kiểu dữ liệu phải khớp với dữ liệu trong CSV. Nếu cần, thêm ràng buộc
NOT NULL,PRIMARY KEY.
5.3 Bước 3: Thực thi BULK INSERT
BULK INSERT dbo.Customer
FROM 'C:\Data\Customers.csv'
WITH
( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', FIRSTROW = 2, -- bỏ qua dòng tiêu đề TABLOCK
);
FIELDTERMINATOR: Ký tự ngăn cắt cột (ở đây là,).ROWTERMINATOR: Ký tự ngăn cắt dòng (ở đây là\n).FIRSTROW: Bỏ qua dòng tiêu đề.TABLOCK: Khóa bảng trong suốt quá trình nhập.
5.4 Bước 4: Kiểm tra dữ liệu
SELECT TOP 10 FROM dbo.Customer;
5.5 Lưu ý khi sử dụng BULK INSERT
- Charset: Nếu dữ liệu chứa ký tự đặc biệt (Unicode), hãy lưu file CSV dưới UTF-8 và thêm
CODEPAGE = '65001'. - Dòng cuối: Đảm bảo file CSV không có dòng trống cuối.
- Quyền: Tài khoản SQL Server cần quyền
ADMINISTER BULK OPERATIONShoặcREADfile.
6. Phương pháp 3: Sử dụng SQL Server Integration Services (SSIS)
SSIS là công cụ mạnh mẽ để tự động hoá quá trình ETL (Extract, Transform, Load). Bạn có thể tạo một package, thiết lập nguồn dữ liệu Excel và đích là bảng SQL Server.
6.1 Bước 1: Mở Visual Studio (SSDT)
- Chọn
File > New > Project. - Lựa chọn
Integration Services Project.
6.2 Bước 2: Thêm Data Flow task
- Kéo
Data Flow Taskvào Control Flow. - Dbl-click để chuyển sang tab Data Flow.
6.3 Bước 3: Thêm Excel Source
- Kéo
Excel Sourcevào Data Flow. - Đặt cấu hình nguồn:
- Excel Connection Manager: Chọn file
.xlsx. - Sheet name: Chọn sheet.
Columnsmapping: Kiểm tra và điều chỉnh.
- Excel Connection Manager: Chọn file
6.4 Bước 4: Thêm OLE DB Destination
- Kéo
OLE DB Destinationvào Data Flow. - Kết nối tới SQL Server:
OLE DB Connection Manager: Chọn server, database.Destination table: Chọn bảng đã tồn tại hoặc tạo mới.
- Mapping cột.
6.5 Bước 5: Chạy và lưu package
- Nhấn F5 để chạy.
- Kiểm tra dữ liệu trong bảng.
- Lưu package và có thể triển khai lên SQL Server Agent để chạy định kỳ.
6.6 Lưu ý khi dùng SSIS
- Định dạng dữ liệu: SSIS cho phép chuyển đổi kiểu dữ liệu trực tiếp trong Data Flow, rất hữu ích khi tính toán hoặc xử lý dữ liệu phức tạp.
- Độ tin cậy: SSIS hỗ trợ retry, logging, và transaction, giúp giảm thiểu lỗi khi nhập dữ liệu lớn.
- Chi phí: SSIS được tích hợp trong SQL Server Data Tools, không tốn thêm chi phí.
7. Kiểm tra và tối ưu hoá sau khi import
Sau khi dữ liệu đã nhập vào SQL Server, bạn cần thực hiện một vài bước kiểm tra và tối ưu hoá:
7.1 Kiểm tra tính toàn vẹn dữ liệu
-- Kiểm tra số dòng
SELECT COUNT() FROM dbo.Customer; -- Kiểm tra dữ liệu null
SELECT COUNT() FROM dbo.Customer WHERE Email IS NULL;
7.2 Tạo chỉ mục
CREATE INDEX IX_Customer_Email ON dbo.Customer(Email);
- Chỉ mục giúp tăng tốc độ truy vấn, đặc biệt là khi có nhiều bản ghi.
7.3 Đặt ràng buộc
ALTER TABLE dbo.Customer ADD CONSTRAINT PK_Customer PRIMARY KEY (CustomerID);
ALTER TABLE dbo.Customer ADD CONSTRAINT UQ_Email UNIQUE (Email);
- Ràng buộc
PRIMARY KEYvàUNIQUEgiúp đảm bảo dữ liệu không bị trùng lặp.
7.4 Kiểm tra các lỗi nhập dữ liệu
- Nếu dữ liệu bị lỗi khi import (ví dụ: giá trị không hợp lệ), bạn có thể xem log trong SSIS hoặc
ERRORLOGtrong BULK INSERT.
8. Tự động hoá quy trình import
Trong môi trường doanh nghiệp, dữ liệu thường được cập nhật hàng ngày hoặc hàng tuần. Bạn có thể tự động hoá quy trình import bằng cách:
- SSIS Package + SQL Server Agent: Lên lịch chạy package SSIS vào thời gian mong muốn.
- PowerShell Script: Sử dụng
SqlBulkCopyđể nhanh chóng nhập dữ liệu từ CSV. - Azure Data Factory: Nếu dữ liệu lưu trữ trong đám mây, bạn có thể dùng Azure Data Factory để di chuyển dữ liệu từ Excel (được lưu trên SharePoint/OneDrive) sang Azure SQL Database.
9. Xử lý lỗi thường gặp
| Lỗi | Nguyên nhân | Giải pháp |
|---|---|---|
Invalid data type | Kiểu dữ liệu trong Excel không khớp với bảng SQL | Kiểm tra và chuyển đổi kiểu dữ liệu trong Excel hoặc trong SSIS |
Cannot open file | Path file sai hoặc không có quyền đọc | Kiểm tra đường dẫn, cấp quyền đọc cho SQL Server |
Null value not allowed | Cột trong SQL không cho phép NULL | Thêm giá trị mặc định hoặc cho phép NULL trong bảng |
Duplicate key violation | Dữ liệu trùng lặp khóa chính | Kiểm tra dữ liệu trước khi import, sử dụng MERGE hoặc IGNORE_DUP_KEY |
10. Kết luận
Việc nhập dữ liệu từ file Excel vào SQL Server có thể được thực hiện qua nhiều phương pháp khác nhau, tùy thuộc vào quy mô dữ liệu, nhu cầu tự động hoá, và kiến thức chuyên môn của người thực hiện. Đối với người mới bắt đầu, Import Wizard trong SSMS là cách dễ nhất và nhanh nhất. Khi cần xử lý dữ liệu lớn hoặc tự động hoá, BULK INSERT và SSIS là những công cụ mạnh mẽ giúp bạn tiết kiệm thời gian và giảm thiểu lỗi.
Nhớ luôn chuẩn bị dữ liệu trong Excel, kiểm tra kiểu dữ liệu, và sau khi nhập, thực hiện các bước kiểm tra, tối ưu hoá để đảm bảo dữ liệu trong SQL Server luôn chính xác, nhất quán và dễ dàng truy xuất. Bằng cách này, bạn sẽ tận dụng được sức mạnh của SQL Server để quản lý dữ liệu hiệu quả hơn trong doanh nghiệp.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
