Giriş
Aspose.Cells FOSS for .NET, okuma, yazma,
ve Excel .xlsx çalışma kitaplarını manipüle etme için saf yönetilen kodlu, MIT lisanslı bir kütüphanedir ve Microsoft Office bağımlılığı olmadan çalışır. Aspose.Cells_FOSS NuGet paketi olarak yüklendiğinde,
herhangi bir .NET projesine — konsol uygulamaları, web
API’leri, arka plan çalışanları ve sunucusuz işlevler entegre olur.
Bu gönderi, genel API’nin özellik‑özellik bir incelemesini sunar, nelerin mümkün olduğunu ve her bir yeteneğin C# kodundan nasıl çağrılacağını gösterir.
Özellik Genel Bakışı
Çalışma Kitabı ve Çalışma Sayfası Yaşam Döngüsü
Her işlem için giriş noktası Workbook sınıfıdır. new Workbook() ile sıfırdan bir tane oluşturun, ya da new Workbook(filePath) veya new Workbook(stream) ile mevcut bir .xlsx yükleyin. Sayfalar arasında Workbook.Worksheets ile gezin, Worksheet.Name ve Worksheet.VisibilityType ayarlayın ve Workbook.Save() ile kalıcı hale getirin. Bozuk dosyalar için, TryRepairPackage = true ve TryRepairXml = true içeren bir LoadOptions örneği geçirin.
using Aspose.Cells_FOSS;
var options = new LoadOptions
{
TryRepairPackage = true,
TryRepairXml = true,
};
try
{
_ = new Workbook("sample.xlsx", options);
}
catch (WorkbookLoadException exception)
{
Console.WriteLine(exception.Message);
}
Hücre Verileri ve Formüller
Değerleri Cell.PutValue() ile hücrelere yazın — aşırı yüklemeler string, int, double,
decimal, bool ve DateTime. Değerleri Cell.Value, Cell.StringValue, ve
Cell.Formula aracılığıyla geri okuyun. Excel formüllerini Cell.Formula özelliğiyle ayarlayın; formül dizesi
kaydedildiğinde korunur ve bir yeniden yükleme döngüsünden sonra da geçerli kalır.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("hello.xlsx");
var loaded = new Workbook("hello.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].Formula);
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].StringValue);
Hücre Stili
Style nesnelerini yazı tipini, doldurmayı, kenarlıkları, sayı biçimini ve hizalamayı kontrol etmek için uygulayın.Cell.GetStyle() ile mevcut stili alın, değiştirin, ardından kaydetmek içinCell.SetStyle(). Arka plan doldurmaları için Style.Pattern = FillPattern.Solid ayarlayın ve birColor‘yi Style.ForegroundColor‘a atayın. Hücre aralıklarını kapsamak için Cells.Merge() kullanın.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var cell = workbook.Worksheets[0].Cells["A1"];
cell.PutValue("Styled");
var style = cell.GetStyle();
style.Font.Bold = true;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 241, 196, 15);
cell.SetStyle(style);
Console.WriteLine($"{cell.StringValue} / Bold={cell.GetStyle().Font.Bold}");
Koşullu Biçimlendirme
ConditionalFormattingCollection aracılığıyla hücre aralıklarına koşullu biçimlendirme kuralları ekleyin.
Kurallar FormatConditionType.CellValue, Expression, ColorScale, DataBar veIconSet destekler. OperatorType kullanarak karşılaştırma operatörlerini (Between, Equal,GreaterThan, vb.) eşleşen hücrelere bir Style atayın ve öncelik ve
doğruysa-durdur davranışını kural başına yapılandırın.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
var cfCollection = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCollection.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCollection[cfCollection.AddCondition(
FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var style = rule.Style;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
style.Font.Bold = true;
rule.Style = style;
workbook.Save("conditional-formatting.xlsx");
Veri Doğrulama
Worksheet.Validations kullanarak hücrelere giriş kısıtlamaları ekleyin. Desteklenen doğrulama türleriValidationType.List, Decimal, Custom ve daha fazlasını içerir. Giriş istemlerini (InputTitle, InputMessage) ve hata mesajlarını (ErrorTitle, ErrorMessage,ValidationAlertType) yapılandırın. CellArea.CreateCellArea() kullanarak doğrulanan aralığı tanımlayın veValidation.AddArea() ek aralıklara bir kural uygulamak için kullanın.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Validation Sheet";
var listIdx = sheet.Validations.Add(CellArea.CreateCellArea("A1", "A3"));
var listVal = sheet.Validations[listIdx];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed\"";
listVal.IgnoreBlank = true;
listVal.InCellDropDown = true;
listVal.ShowInput = true;
listVal.InputTitle = "Status";
listVal.InputMessage = "Pick a status";
listVal.ShowError = true;
listVal.ErrorTitle = "Invalid";
listVal.ErrorMessage = "Choose from the list";
workbook.Save("validations-sample.xlsx");
Sayfa Ayarı ve Yazdırma Seçenekleri
Worksheet.PageSetup aracılığıyla yazdırma düzenini yapılandırın. Kenar boşluklarını ayarlayın (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, ölçek, yazdırma alanı, başlık satırları ve sütunları, üstbilgiler ve altbilgiler ve sayfa sonları. Tüm ayarlar kaydet‑yükleme turunda korunur.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Print Sheet";
sheet.Cells["A1"].PutValue("Title");
var pageSetup = sheet.PageSetup;
pageSetup.Orientation = PageOrientationType.Landscape;
pageSetup.PaperSize = PaperSizeType.PaperA4;
pageSetup.PrintArea = "$A$1:$C$10";
pageSetup.PrintTitleRows = "$1:$2";
pageSetup.LeftHeader = "Left Header";
pageSetup.CenterFooter = "Center Footer";
pageSetup.PrintGridlines = true;
pageSetup.CenterHorizontally = true;
workbook.Save("page-setup-sample.xlsx");
Çalışma Sayfası Ayarları ve Koruma
Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, Zoom ve TabColor ile sayfa başına görüntüyü kontrol edin. Worksheet.Protect() ile sayfaları koruyun ve ince ayarlı Protection bayraklarını (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells) yapılandırın. Cells.Rows, Cells.Columns ve Cells.Merge() aracılığıyla satır yüksekliğini, sütun genişliğini, gizli satırları/sütunları ve birleştirilmiş bölgeleri yönetin.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var layout = workbook.Worksheets[0];
layout.Name = "Layout";
layout.VisibilityType = VisibilityType.Hidden;
layout.TabColor = Color.FromArgb(255, 34, 68, 102);
layout.ShowGridlines = false;
layout.Zoom = 85;
layout.Protect();
layout.Protection.FormatCells = true;
layout.Protection.InsertRows = true;
layout.Cells["A1"].PutValue("Merged");
layout.Cells.Rows[1].Height = 22.5d;
layout.Cells.Columns[0].Width = 18.25d;
layout.Cells.Merge(0, 0, 2, 2);
workbook.Save("worksheet-settings-sample.xlsx");
Köprüler ve Adlandırılmış Aralıklar
Harici, dahili ve mailto: bağlantıları HyperlinkCollection.Add() aracılığıyla ekleyin. Kullanıcıya görünen etiketler için Hyperlink.TextToDisplay ve Hyperlink.ScreenTip ayarlayın. DefinedNameCollection.Add() kullanarak çalışma kitabı veya sayfa kapsamında adlandırılmış aralıklar tanımlayın — adlandırılmış aralıklar, dosya yeniden yüklendiğinde bile ayakta kalan sabit formül bağları ve grafik veri kaynakları olarak hizmet eder.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Docs");
var link = sheet.Hyperlinks[sheet.Hyperlinks.Add("A1", 1, 1, "https://example.com/docs")];
link.TextToDisplay = "Docs";
link.ScreenTip = "External documentation";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("PrimaryRange", "='Sheet1'!$A$1:$D$5")];
name.Comment = "Primary data range";
workbook.Save("hyperlinks-names.xlsx");
Console.WriteLine("Hyperlinks: " + sheet.Hyperlinks.Count);
Console.WriteLine("Defined names: " + workbook.DefinedNames.Count);
Hızlı Başlangıç
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("output.xlsx");
Desteklenen Formatlar
| Biçim | Uzantı | Okuma | Yazma |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
Açık Kaynak ve Lisanslama
Aspose.Cells FOSS for .NET MIT lisansı altında yayınlanmış ve NuGet üzerinden olarakAspose.Cells_FOSS. Açık kaynak ve ticari projeler için uygundur.