دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
آموزش چاپ PDF با استفاده از سی شارپ
1404/09/06 -
آموزش کامل وارد کردن داده اکسل به SQL Server
1404/09/05 -
رمزنگاری و رمزگشایی در سی شارپ
1404/09/04 -
آموزش کامل وارد کردن داده اکسس به sqlserver
1404/08/28 -
صفحه بندی دیتا گرید ویو در سیشارپ
1404/08/27 -
آموزش Data Binding در سی شارپ
1404/08/18
آموزش کامل وارد کردن داده اکسل به SQL Server
مقدمه
انتقال داده از اکسل به SQL Server یکی از مهمترین نیازهای برنامهنویسان، تحلیلگران داده، مدیران پایگاه داده و حتی تیمهای کسبوکار است.
زمانی که حجم دادهها زیاد میکند یا نیاز به تحلیل دقیق، گزارشگیری حرفهای و اتصال اطلاعات به سیستمهای نرمافزاری داریم، بهترین کار این است که دادههای Excel را وارد SQL Server کنیم.
وارد کردن داده اکسل به SQL Server چیست؟
وارد کردن داده اکسل به SQL Server به معنی ارسال یا انتقال اطلاعات ذخیرهشده در فایلهای Excel (با پسوند XLS یا XLSX) به جدولهای یک پایگاه داده SQL است.
این کار میتواند از طریق ابزارهای گرافیکی، اسکریپتهای T-SQL، سرویسهای ETL مثل SSIS و حتی روشهای اتوماتیکسازی انجام شود.
پیشنیازهای انتقال داده اکسل به SQL Server
انتقال دادهها از Excel به SQL Server زمانی بدون خطا انجام میشود که ساختار فایل، تنظیمات سرور و سرویسهای موردنیاز بهدرستی آماده شده باشند.
رعایت پیشنیازها باعث جلوگیری از خطاهای مرسوم مانند ناسازگاری فرمت، نامعتبر بودن ستونها و یا اختلال در پردازش حجمهای بالا میشود.
برای شروع فرآیند انتقال، ابتدا ضروری است که محیط SQL و فایل اکسل را مطابق استانداردهای خواندن داده آماده کنید تا اجرای کوئریها و عملیات درج اطلاعات با کمترین خطا انجام شود.
پیشنیازهای انتقال داده
- نصب SQL Server و SQL Server Management Studio
- نصب Microsoft Access Database Engine (برای امکان خواندن فایلهای Excel با پسوند XLSX)
- فعال بودن گزینهی Ad Hoc Distributed Queries در SQL Server
- حذف Merge از سلولهای اکسل جهت جلوگیری از جابهجایی دادهها
- قرار دادن عنوان ستونها در ردیف اول فایل
- هماهنگ بودن نوع دادهها (Data Types) با ستونهای جدول مقصد
- خالی نبودن نام شیت و نداشتن کاراکترهای خاص
- ترجیحاً تبدیل فایلهای بزرگ یا پیچیده به CSV برای افزایش سرعت و جلوگیری از خطا در هنگام وارد کردن دادهها با BULK INSERT
روشهای وارد کردن داده اکسل به SQL Server
قبل از شروع مراحل عملی، بهتر است روشهای موجود را بشناسید. هر روش برای یک هدف خاص مناسب است.
روشهای معمول Import
- SQL Server Import Wizard (سادهترین روش)
- T-SQL با OPENROWSET
- BULK INSERT بعد از تبدیل به CSV
- SSIS برای فرایندهای سنگین و اتوماتیک
- پکیجسازی ETL برای انتقال روزانه دادهها

آموزش کامل وارد کردن داده اکسل با SQL Server Import Wizard
این روش آسانترین روش برای افراد مبتدی و حتی کاربران حرفهای است. نیازی به کدنویسی ندارد و کاملاً گرافیکی است.
مراحل وارد کردن داده اکسل
1. اجرای SQL Server Management Studio (SSMS)
2. راستکلیک روی دیتابیس
3. انتخاب Tasks → Import Data
4. انتخاب منبع داده: Microsoft Excel
5. انتخاب فایل اکسل
6. تعیین نسخه اکسل (Excel 2007–2016)
7. انتخاب شیت (Sheet1$)
8. انتخاب جدول مقصد در SQL Server
9. فعالکردن گزینه Run Immediately
10. اجرای عملیات و بررسی نتیجه
آموزش Import با T-SQL (روش حرفهای با OPENROWSET)
این روش برای برنامهنویسان و افرادی مناسب است که میخواهند عملیات Import خودکار شود یا نیاز دارند با اسکریپتها کار کنند.
فعالسازی OPENROWSET
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
نمونه Import با OPENROWSET
SELECT *
INTO dbo.ExcelData
FROM OPENROWSET(
'Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=C:\Data\file.xlsx',
'SELECT * FROM [Sheet1$]'
);
آموزش وارد کردن داده از CSV به SQL Server
برای انتقال دادههای بزرگ و پیچیده از فایلهای اکسل، روش تبدیل به CSV و استفاده از BULK INSERT سریعترین و بهینهترین راهکار است.
این روش به شما امکان میدهد دادهها را بدون ابزار گرافیکی و با کمترین خطا به جدولهای SQL Server منتقل کنید.
مراحل استفاده از BULK INSERT:
۱. تبدیل فایل Excel به CSV
فایلهای بزرگ یا پیچیده Excel را ابتدا به CSV تبدیل کنید تا فرآیند وارد کردن داده سریعتر و پایدارتر شود.
۲. ساخت جدول مقصد در SQL Server
CREATE TABLE dbo.MonthlySales (
SaleID INT,
ProductName NVARCHAR(100),
Amount DECIMAL(18,2),
SaleDate DATE
);
اجرای دستور BULK INSERT
BULK INSERT dbo.MonthlySales
FROM 'C:\Data\SalesData.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
);
روش حرفهای ETL با SSIS
SSIS یک سرویس قدرتمند برای انتقال دادههای بزرگ و پیچیده است. اگر هر روز یا هر هفته باید دادههایی از اکسل وارد SQL Server شود، بهترین روش SSIS است.
مزایای سرویس SSIS
- سرعت بسیار بالا
- قابلیت پاکسازی داده
- اجرای خودکار طبق زمانبندی (Schedule)
- پشتیبانی از چندین فایل اکسل

🌟 آیا میخواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما میتوانید به راحتی و با روشی عملی، تمام مهارتهای لازم را یاد بگیرید!
این دوره به شما آموزش میدهد که چگونه دادهها را به بهترین شکل مدیریت کنید، گزارشهای قدرتمند بسازید و به تحلیلهای عمیق دست یابید.
با محتوای جذاب و پروژههای واقعی، شما نه تنها تئوری را یاد میگیرید، بلکه تواناییهای عملی خود را نیز تقویت میکنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشنتر بردارید!
نکات مهم برای جلوگیری از خطا هنگام انتقال داده اکسل به SQL
بسیاری از خطاها مربوط به فرمت داده یا ساختار اکسل است. ابتدا موارد زیر را بررسی کنید:
- ستونها نباید دادههای ترکیبی داشته باشند (متن + عدد)
- شیت باید Header استاندارد داشته باشد
- تاریخها باید فرمت مشخص داشته باشند
- سلول Merge شده حذف شود
- نام شیت با $ ختم شود (مثلاً Sheet1$)
- مسیر فایل انگلیسی باشد.
آموزش انتقال داده از اکسل (Excel) به SQL Server با Wizard
مرحله اول : ایجاد دیتابیس اکسل
ابتدا یک دیتابیس مثال شهرهای ایران در اکسل میسازیم.
در این دیتابیس یک جدول شهر مثل شهرهای ایران میسازیم.
داده های پیش فرض وارد میکنیم.

مرحله دوم : انتخاب import Data
بر روی دیتابیس مقصد راست کلیک کرده و گزینه Tasks سپس Import Data را انتخاب کنید. در پنجره باز شده،

مرحله سوم : باز شدن پنجره Import and Export
در پنجره باز شده گزینه Next راز ده.

مرحله چهارم : انتخاب منبع داده (Choose a Data Source)
Data Source: Microsoft Access (Microsoft Jet Database Engine)
انتخاب این گزینه برای اتصال به فایلهای پایگاه داده اکسل استفاده میشود.
بخش اطلاعات اتصال
File Name:
مسیر کامل فایل دیتابیس اکسس شامل نام فایل و پسوند MDB
User Name:
فیلد اختیاری برای نام کاربری (در صورت وجود امنیت روی فایل اکسس)
Password:
فیلد اختیاری برای رمز عبور (در صورت محافظت شدن فایل با رمز)
Browse :
برای جستجو و انتخاب فایل دیتابیس از طریق پنجره مرورگر فایل
Advanced:
تنظیمات پیشرفته برای پارامترهای خاص اتصال
Help:
دسترسی به راهنمای کامل
Back:
بازگشت به مرحله قبل
Next :
ادامه به مرحله بعد
Finish :
اتمام سریع با تنظیمات پیشفرض

مرحله چهارم : انتخاب دیتابیس مقصد (Choose a Destination)
Destination: Microsoft OLE DB Provider for SQL Server
انتخاب این گزینه برای اتصال به سرور SQL Server
بخش تنظیمات اتصال سرور
Server name:
نام سرور SQL Server (مثال: localhost, .\SQLEXPRESS, نام سرور شبکه)
بخش احراز هویت (Authentication)
Use Windows Authentication:
استفاده از اعتبارسنجی ویندوز (امنتر - توصیه شده)
Use SQL Server Authentication:
استفاده از نام کاربری و رمز عبور اختصاصی SQL Server
User name: نام کاربری دیتابیس
Password: رمز عبور حساب کاربری
بخش انتخاب دیتابیس
Database: example
انتخاب دیتابیس مقصد از لیست موجود
Refresh: به روزرسانی لیست دیتابیسها
New...: ایجاد دیتابیس جدید
نوار ابزار پایین
Help: دسترسی به راهنمای کامل
< Back: بازگشت به مرحله قبل
Next >: ادامه به مرحله بعد
Finish >>: اتمام سریع با تنظیمات پیشفرض
Cancel: انصراف از عملیات

مرحله پنجم : انتخاب روش انتقال (Specify Table Copy or Query)
گزینه اول: کپی مستقیم داده
✓ Copy data from one or more tables or views
کاربرد: کپی کامل داده از جداول و ویوهای موجود
مزایا:
انتقال سریع و بدون نیاز به دانش SQL
مناسب برای انتقال کامل جداول
حفظ ساختار اصلی دادهها
ایدهآل برای مهاجرت کامل دیتابیس
گزینه دوم: استفاده از کوئری سفارشی
✓ Write a query to specify the data to transfer
کاربرد: نوشتن کوئری SQL برای مدیریت و فیلتر داده
مزایا:
امکان فیلتر کردن سطرهای خاص
انتخاب ستونهای مورد نیاز
انجام عملیات JOIN روی چند جدول
اعمال شرط و مرتبسازی دادهها
نوار ابزار پایین
Help: دسترسی به راهنمای کامل
Back: بازگشت به مرحله قبل
Next : ادامه به مرحله بعد
Finish : اتمام سریع با تنظیمات پیشفرض
Cancel: انصراف از عملیات

مرحله ششم : انتخاب جداول و ویوها (Select Source Tables and Views)
لیست جداول قابل انتقال
نمایش مسیر فایل اکسس به عنوان منبع داده
Destination: [dbo].[city]
مشخصات جدول مقصد در SQL Server
Schema: dbo (پیشفرض)
Table Name: city
گزینههای انتخاب
چکباکس کنار جدول city:
فعال کردن این جدول برای انتقال
امکان انتخاب چندین جدول به صورت همزمان
دکمههای مدیریت پیشرفته
Edit Mappings
کاربرد: تنظیمات دقیق نگاشت ستونها
قابلیتها:
تغییر نام جدول مقصد
تنظیم نوع داده ستونها
مدیریت کلیدهای اصلی
تعیین اقدامات در صورت وجود داده
Preview
کاربرد: پیشنمایش دادههای جدول
قابلیتها:
مشاهده نمونه دادهها قبل از انتقال
بررسی ساختار جدول
اطمینان از صحت دادهها
نوار ابزار پایین
Help: دسترسی به راهنمای کامل
Back: بازگشت به مرحله قبل
Next : ادامه به مرحله بعد
Finish : اتمام سریع با تنظیمات پیشفرض
Cancel: انصراف از عملیات

مرحله هشتم : بخش ذخیره سازی و اجرا (Save and Run Package)
1. اجرای فوری (Run immediately)
توضیح: این گزینه عملیات واردسازی یا صادرسازی دادهها را بلافاصله پس از کلیک روی «Finish» اجرا میکند.
کاربرد: مناسب برای مواقعی که میخواهید دادهها فقط یکبار منتقل شوند و نیازی به ذخیرهسازی تنظیمات برای استفاده مجدد ندارید.
2. ذخیره بسته SSIS (Save SSIS Package)
توضیح: با فعال کردن این گزینه، میتوانید تنظیمات انجامشده را به عنوان یک بسته SSIS ذخیره کنید تا در آینده بتوانید آن را دوباره اجرا یا تغییر دهید.
مقصد ذخیرهسازی:
SQL Server: بسته درون پایگاه داده msdb سرور SQL ذخیره میشود.
File system: بسته به عنوان یک فایل با پسوند .dtsx در مسیر مشخصی روی سرور ذخیره میگردد.
3. سطح محافظت از بسته (Package protection level)
توضیح: این بخش تعیین میکند که چگونه اطلاعات حساس (مانند رمزهای عبور) درون بسته محافظت شوند.
گزینه انتخابشده در تصویر: Encrypt sensitive data with user key
معنی: اطلاعات حساس با استفاده از کلید کاربر جاری (User Key) رمزگذاری میشوند. فقط همان کاربر و روی همان سیستم میتواند بسته را اجرا یا ویرایش کند.
4. رمز عبور (Password)
توضیح: در صورت انتخاب سطح حفاظتی که نیاز به رمز عبور دارد (مانند Encrypt all data with password)، این دو فیلد برای وارد کردن و تأیید رمز عبور نمایش داده میشوند.
نکته: در تصویر فعلی، این فیلدها غیرفعال هستند زیرا سطح حفاظت انتخابشده (User Key) نیازی به رمز عبور ندارد.
5. دکمههای ناوبری
Help: راهنمای مربوط به این پنجره را نمایش میدهد.
Back: بازگشت به مرحله قبل.
Next : رفتن به مرحله بعد (در این حالت غیرفعال است).
Finish : تکمیل مراحل و اجرای عملیات بر اساس تنظیمات انجامشده.
Cancel: لغو عملیات و بستن جادوگر.

مرحله نهم : بخش Complete the Wizard
این پنجره مرحله نهایی است که خلاصهای از تمام تنظیمات و اقداماتی که قرار است انجام شود را نمایش میدهد.
باتن این Finish را زده .

مرحله دهم: وضعیت کلی اجرا (Execution Status)
مراحل با موفقیت انجام شده . داده ها وارد شده است

مرحله یازدهم : نمایش جدول در دیتابیس Sql
جدول city به دیتابیس اضافه شده است.

مثالهای پروژهمحور وارد کردن داده اکسل به SQL Server
برای درک بهتر کاربرد عملی انتقال دادهها، بررسی مثالهای پروژهمحور بسیار مفید است.
این مثالها نشان میدهند چگونه میتوان اطلاعات واقعی از فایل اکسل را به جدولهای SQL منتقل کرد و برای تحلیل یا گزارشگیری آماده نمود.
مثال ۱: وارد کردن لیست مشتریان از Excel به SQL Server
این مثال زمانی کاربرد دارد که یک فایل اکسل حاوی اطلاعات مشتریان دارید و میخواهید آن را در یک جدول SQL ذخیره کنید تا بتوانید گزارشگیری یا تحلیل انجام دهید.
ساخت جدول مقصد
CREATE TABLE dbo.Customers (
CustomerID INT,
FullName NVARCHAR(100),
Phone NVARCHAR(20),
City NVARCHAR(50)
);
وارد کردن دادههای اکسل
INSERT INTO dbo.Customers (CustomerID, FullName, Phone, City)
SELECT *
FROM OPENROWSET(
'Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=C:\Data\Customers.xlsx',
'SELECT * FROM [Sheet1$]'
);
مثال ۲: وارد کردن گزارش فروش ماهانه و ساخت گزارش تجمیعی
این مثال زمانی استفاده میشود که هر ماه یک فایل اکسل شامل فروش محصولات دریافت میکنید و باید آن را وارد SQL Server کنید.
ساخت جدول فروش
CREATE TABLE dbo.MonthlySales (
SaleID INT,
ProductName NVARCHAR(100),
Amount DECIMAL(18,2),
SaleDate DATE
);
Import داده فروش
SELECT ProductName, SUM(Amount) AS TotalSales
FROM dbo.MonthlySales
GROUP BY ProductName
ORDER BY TotalSales DESC;
پرسشهای آموزش وارد کردن داده اکسل به SQL Server
1. سادهترین روش وارد کردن داده اکسل به SQL Server چیست؟
روش Import Wizard در SSMS آسانترین و سریعترین روش است.
2. آیا میتوان با T-SQL دادههای اکسل را وارد SQL Server کرد؟
بله با OPENROWSET یا OPENDATASOURCE.
نتیجهگیری
وارد کردن دادههای اکسل به SQL Server زمانی بهترین نتیجه را میدهد که فایل اکسل استاندارد باشد و روش مناسب با حجم و نیاز پروژه انتخاب شود.
برای کارهای ساده، Import Wizard سریعترین گزینه است؛ برای اتوماتسازی یا کارهای سازمانی، روشهای T-SQL (OPENROWSET) و SSIS عملکرد حرفهایتری ارائه میدهند.
با رعایت نکاتی مثل اصلاح هدرها، جلوگیری از سلولهای Merge و یکسانسازی نوع دادهها، بسیاری از خطاهای رایج حذف میشود.
در مجموع، شناخت ابزارها و اصول کار باعث میشود فرآیند انتقال داده دقیق، سریع و قابل اعتماد انجام شود و بتوان از قدرت SQL Server برای تحلیل و مدیریت دادهها بیشترین بهره را برد.
دوره های مرتبط
آموزش پایگاه داده SqlServer
پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .








