1. https://www.nuget.org/packages/Microsoft.Office.Interop.Excel
adresinde yer alan dll'i ManageNuGet ile ya da Package Manager Console ile projeye dahil edin.
//OKUMA İŞLEMİ var excelApp = new Excel.Application(); var path = "c:\\dosyayolu" //excel aç var workBook = excelApp.Workbooks.Open(path); //1. sayfayı seç Excel._Worksheet workSheet = workBook.Sheets[1]; //kullanılan alanlar Excel.Range excelRange = workSheet.UsedRange; //kullanılan satır sayısı int rowCount = excelRange.Rows.Count; //kullanılan sütun sayısı int colCount = excelRange.Columns.Count; bool isCorrectFormat = true; //Excel için kendi formatımımız var. Eğer başlıklar yoksa hatalı format. //"A" yerine sayı da yazabiliriz. 1.sütun..Cells[1, 1] isCorrectFormat &= excelRange.Cells[1, "A"] != null & excelRange.Cells[1, "A"].Value2 != null; isCorrectFormat &= excelRange.Cells[1, "B"] != null & excelRange.Cells[1, "B"].Value2 != null; isCorrectFormat &= excelRange.Cells[1, "C"] != null & excelRange.Cells[1, "C"].Value2 != null; isCorrectFormat &= excelRange.Cells[1, "D"] != null & excelRange.Cells[1, "D"].Value2 != null; isCorrectFormat &= excelRange.Cells[1, "E"] != null & excelRange.Cells[1, "E"].Value2 != null; if (!isCorrectFormat) throw new Exception("Hatalı Excel Formatı"); //Başlıklar doğru şekilde mi yazıldı. isCorrectFormat &= excelRange.Cells[1, "A"].Value2.ToString() == "Ad Soyad"; isCorrectFormat &= excelRange.Cells[1, "B"].Value2.ToString() == "Telefon 1"; isCorrectFormat &= excelRange.Cells[1, "C"].Value2.ToString() == "Telefon 2"; isCorrectFormat &= excelRange.Cells[1, "D"].Value2.ToString() == "Telefon 3"; isCorrectFormat &= excelRange.Cells[1, "E"].Value2.ToString() == "E-Posta"; //Format doğru değilse excel den çık. if (!isCorrectFormat) { GC.Collect(); GC.WaitForPendingFinalizers(); workBook.Close(); Marshal.ReleaseComObject(excelRange); Marshal.ReleaseComObject(workSheet); Marshal.ReleaseComObject(workBook); excelApp.Quit(); Marshal.ReleaseComObject(excelApp); throw new Exception("Hatalı Excel Formatı"); } //2 satırdan itibaren okumaya başla. //Burada Rehber kendi oluşturduğum bir sınıf. for (int i = 2; i <= rowCount; i++) { var rehber = new Rehber() { AdSoyad = (excelRange.Cells[i, "A"] != null & excelRange.Cells[i, "A"].Value2 != null) ? excelRange.Cells[i, "A"].Value2.ToString() : "", Telefon1 = (excelRange.Cells[i, "B"] != null & excelRange.Cells[i, "B"].Value2 != null) ? excelRange.Cells[i, "B"].Value2.ToString() : "", Telefon2 = (excelRange.Cells[i, "C"] != null & excelRange.Cells[i, "C"].Value2 != null) ? excelRange.Cells[i, "C"].Value2.ToString() : "", Telefon3 = (excelRange.Cells[i, "D"] != null & excelRange.Cells[i, "D"].Value2 != null) ? excelRange.Cells[i, "D"].Value2.ToString() : "", EMail = (excelRange.Cells[i, "E"] != null & excelRange.Cells[i, "E"].Value2 != null) ? excelRange.Cells[i, "E"].Value2.ToString() : "", }; mw.Rehber.Add(rehber); } //Tüm işlemler bitti kapat. GC.Collect(); GC.WaitForPendingFinalizers(); workBook.Close(); Marshal.ReleaseComObject(excelRange); Marshal.ReleaseComObject(workSheet); Marshal.ReleaseComObject(workBook); excelApp.Quit(); Marshal.ReleaseComObject(excelApp);
//YAZMA İŞLEMİ path = "C:\\dosyayolu" if (!string.IsNullOrWhiteSpace(path)) { var excelApp = new Excel.Application(); var workBook = excelApp.Workbooks.Add(); Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet; workSheet.Cells[1, "A"] = "Ad Soyad"; workSheet.Cells[1, "B"] = "Telefon 1"; workSheet.Cells[1, "C"] = "Telefon 2"; workSheet.Cells[1, "D"] = "Telefon 3"; workSheet.Cells[1, "E"] = "E-Posta"; var row = 1; foreach (var kisi in telefonRehberi) { row++; workSheet.Cells[row, "A"] = kisi.AdSoyad; workSheet.Cells[row, "B"] = kisi.Telefon1; workSheet.Cells[row, "C"] = kisi.Telefon2; workSheet.Cells[row, "D"] = kisi.Telefon3; workSheet.Cells[row, "E"] = kisi.EMail; } for (int i = 1; i < 6; i++) { ((Excel.Range)workSheet.Columns[i]).AutoFit(); } workBook.SaveAs(path); workBook.Close(true); excelApp.Quit(); Marshal.ReleaseComObject(workSheet); Marshal.ReleaseComObject(workBook); Marshal.ReleaseComObject(excelApp); }Tamamlanmış Proje Aşağıdaki Linkten İndirilebilir
https://drive.google.com/file/d/11dhNkEYm-leQJLViF4uNzBUf0V-rUGtB/view?usp=sharing