Excel Çalışma Sayfasındaki Belirli Hücreleri Koruyun
Bu eğitimde, bir Excel elektronik tablosundaki belirli hücreleri korumak için Aspose.Cells kütüphanesini kullanan C# kaynak koduna bakacağız. Kodun her adımını inceleyeceğiz ve nasıl çalıştığını açıklayacağız. İstenilen sonuçları elde etmek için talimatları dikkatlice izleyin.
1. Adım: Önkoşullar
Başlamadan önce .NET için Aspose.Cells kütüphanesini kurduğunuzdan emin olun. Aspose’un resmi web sitesinden alabilirsiniz. Ayrıca Visual Studio’nun veya başka bir C# geliştirme ortamının güncel bir sürümüne sahip olduğunuzdan emin olun.
2. Adım: Gerekli ad alanlarını içe aktarın
Aspose.Cells kütüphanesini kullanmak için gerekli ad alanlarını kodumuza aktarmamız gerekiyor. C# kaynak dosyanızın en üstüne aşağıdaki satırları ekleyin:
using Aspose.Cells;
3. Adım: Excel çalışma kitabı oluşturma
Bu adımda yeni bir Excel çalışma kitabı oluşturacağız. Excel çalışma kitabı oluşturmak için aşağıdaki kodu kullanın:
// Belgeler dizininin yolu.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";
// Yeni bir çalışma kitabı oluşturun.
Workbook wb = new Workbook();
Değiştirdiğinizden emin olun"YOUR_DOCUMENTS_DIR"
Belgeler dizininize uygun yol ile.
4. Adım: Elektronik tablo oluşturma
Artık Excel çalışma kitabını oluşturduğumuza göre, bir çalışma sayfası oluşturup ilk sayfayı alalım. Aşağıdaki kodu kullanın:
// Bir elektronik tablo nesnesi oluşturun ve ilk sayfayı alın.
Worksheet sheet = wb.Worksheets[0];
Adım 5: Stili Tanımlama
Bu adımda belirli hücrelere uygulanacak stili tanımlayacağız. Aşağıdaki kodu kullanın:
// Stil nesnesinin tanımı.
Styling styling;
Adım 6: Tüm sütunların kilidini açmak için döngü yapın
Şimdi çalışma sayfasındaki tüm sütunlar arasında dolaşıp bunların kilidini açacağız. Aşağıdaki kodu kullanın:
// Çalışma sayfasındaki tüm sütunlar arasında dolaşın ve bunların kilidini açın.
for (int i = 0; i <= 255; i++)
{
style = sheet.Cells.Columns[(byte)i].Style;
style. IsLocked = false;
sheet.Cells.Columns[(byte)i].ApplyStyle(style);
}
Adım 7: Belirli Hücreleri Kilitleme
Bu adımda belirli hücreleri kilitleyeceğiz. Aşağıdaki kodu kullanın:
//Üç hücrenin tümü kilitleniyor... yani A1, B1, C1.
style = sheet.Cells["A1"].GetStyle();
style. IsLocked = true;
sheet.Cells["A1"].SetStyle(style);
style = sheet.Cells["B1"].GetStyle();
style. IsLocked = true;
sheet.Cells["B1"].SetStyle(style);
style = sheet.Cells["C1"].GetStyle();
style. IsLocked = true;
sheet.Cells["C1"].SetStyle(style);
Adım 8: Çalışma sayfasını koruma
Son olarak, belirli hücrelerin değiştirilmesini önlemek için çalışma sayfasını koruyacağız. Aşağıdaki kodu kullanın:
// Çalışma sayfasını koruyun.
sheet.Protect(ProtectionType.All);
Adım 9: Excel dosyasını kaydetme
Şimdi değiştirilen Excel dosyasını kaydedeceğiz. Aşağıdaki kodu kullanın:
// Excel dosyasını kaydedin.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
Değiştirilen Excel dosyasını kaydetmek için doğru yolu belirttiğinizden emin olun.
Aspose.Cells for .NET kullanarak Excel Çalışma Sayfasındaki Belirli Hücreleri Korumak için örnek kaynak kodu
//Belgeler dizininin yolu.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Henüz mevcut değilse dizin oluşturun.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Yeni bir çalışma kitabı oluşturun.
Workbook wb = new Workbook();
// Bir çalışma sayfası nesnesi oluşturun ve ilk sayfayı edinin.
Worksheet sheet = wb.Worksheets[0];
// Stil nesnesini tanımlayın.
Style style;
// Stil bayrağı nesnesini tanımlayın
StyleFlag styleflag;
// Çalışma sayfasındaki tüm sütunlar arasında dolaşın ve bunların kilidini açın.
for (int i = 0; i <= 255; i++)
{
style = sheet.Cells.Columns[(byte)i].Style;
style.IsLocked = false;
styleflag = new StyleFlag();
styleflag.Locked = true;
sheet.Cells.Columns[(byte)i].ApplyStyle(style, styleflag);
}
// Üç hücreyi kilitleyin... yani A1, B1, C1.
style = sheet.Cells["A1"].GetStyle();
style.IsLocked = true;
sheet.Cells["A1"].SetStyle(style);
style = sheet.Cells["B1"].GetStyle();
style.IsLocked = true;
sheet.Cells["B1"].SetStyle(style);
style = sheet.Cells["C1"].GetStyle();
style.IsLocked = true;
sheet.Cells["C1"].SetStyle(style);
// Son olarak, sayfayı şimdi koruyun.
sheet.Protect(ProtectionType.All);
// Excel dosyasını kaydedin.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
Çözüm
Tebrikler! Artık .NET için Aspose.Cells kütüphanesini kullanarak bir Excel çalışma sayfasındaki belirli hücreleri korumanıza olanak tanıyan C# kaynak kodunuz var. Kodu özel ihtiyaçlarınıza uyacak şekilde özelleştirmekten çekinmeyin.
SSS (Sık Sorulan Sorular)
Bu kod Excel’in son sürümleriyle çalışıyor mu?
Evet, bu kod, Excel 2010 ve üzeri formattaki dosyalar da dahil olmak üzere Excel’in son sürümleriyle çalışır.
A1, B1 ve C1 dışında diğer hücreleri de koruyabilir miyim?
Evet, ilgili kod satırlarındaki hücre referanslarını ayarlayarak diğer belirli hücreleri kilitlemek için kodu değiştirebilirsiniz.
Kilitli hücrelerin kilidini tekrar nasıl açabilirim?
KullanabilirsinizSetStyle
ile yöntemIsLocked
ayarlanırfalse
hücrelerin kilidini açmak için.
Çalışma kitabına daha fazla çalışma sayfası ekleyebilir miyim?
Evet, çalışma kitabına başka çalışma sayfalarını kullanarak ekleyebilirsiniz.Worksheets.Add()
yöntemini kullanın ve her çalışma sayfası için hücre koruma adımlarını tekrarlayın.
Excel dosyasının kaydetme biçimini nasıl değiştirebilirim?
Kaydetme formatını kullanarak değiştirebilirsiniz.SaveFormat
İstenilen formatta yöntem, örneğinSaveFormat.Xlsx
Excel 2007 ve sonrası için.