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çin
Cell.SetStyle(). Arka plan doldurmaları için Style.Pattern = FillPattern.Solid ayarlayın ve bir
Color‘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 ve
IconSet 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ürleri
ValidationType.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 ve
Validation.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çimUzantıOkumaYazma
Xlsx.xlsx
Auto(various)

Açık Kaynak ve Lisanslama

Aspose.Cells FOSS for .NET MIT lisansı altında yayınlanmış ve NuGet üzerinden olarak
Aspose.Cells_FOSS. Açık kaynak ve ticari projeler için uygundur.


Başlarken

İlgili Kaynaklar