ExcelImport, Excel dosyalarındaki verileri otomatik olarak Microsoft SQL Server veritabanına aktaran,
yüksek performanslı ve tamamen konfigüre edilebilir bir .NET 8.0 konsol uygulamasıdır.
- 📑 Excel dosyasındaki her sayfayı (Sheet) ayrı tablo olarak MSSQL'e aktarır.
- 🔄 Aynı isimde tablo varsa önce DROP TABLE işlemi yapar, sonra yeniden oluşturur.
- 🧱 Kolon isimlerini Excel’in ilk satırından alır.
- ⚡
SqlBulkCopyile yüksek hızlı toplu veri aktarımı sağlar. - 🔧 Tüm bağlantı ve dosya ayarları
appsettings.jsonüzerinden yönetilir. - 🧩 Çoklu bağlantı desteği (
Connection1,Connection2,Connection3vb.). - 🧠 Türkçe karakter ve UTF-8 desteği.
- 💻 Windows, macOS ve Linux işletim sistemlerinde çalıştırılabilir.
| Gereksinim | Minimum Sürüm |
|---|---|
| .NET SDK | 8.0 |
| SQL Server | 2016+ |
| ExcelDataReader | 3.8.0 |
| Microsoft.Data.SqlClient | 6.1.2 |
| Microsoft.Extensions.Configuration.Json | 9.0.10 |
dotnet add package ExcelDataReader --version 3.8.0
dotnet add package ExcelDataReader.DataSet --version 3.8.0
dotnet add package Microsoft.Data.SqlClient --version 6.1.2
dotnet add package Microsoft.Extensions.Configuration --version 9.0.10
dotnet add package Microsoft.Extensions.Configuration.Abstractions --version 9.0.10
dotnet add package Microsoft.Extensions.Configuration.Json --version 9.0.10
{TableNamePrefix}{SheetIndex}
Örnek: tmpFormExcel1, tmpFormExcel2, tmpFormExcel3, ...
IF OBJECT_ID('tmpFormExcel1', 'U') IS NOT NULL
DROP TABLE tmpFormExcel1;
CREATE TABLE tmpFormExcel1 (
LineId INT IDENTITY(1,1) PRIMARY KEY,
[Kolon1] NVARCHAR(MAX),
[Kolon2] NVARCHAR(MAX)
);
Kullanım:
dotnet build
cd bin/Debug/net7.0
ExcelImport.exe
Örnek Çıktı:
appSettings.json bulundu! İşlem gerçekleştiriliyor...
İçeride varolan tmpFormExcel1 tablosu silindi!
tmpFormExcel1 tablosu yeniden oluşturuldu!
1. sayfa excelden alınıp tmpFormExcel1 tablosuna aktarıldı!
ExcelImport/
│
├── Program.cs
├── GlobalExcelTransfer.cs
├── Extensions.cs
├── appsettings.json
├── ExcelImport.csproj
├── example.sql
├── ExcelFileSample.xlsx
└── README.md