Pengenalan

Aspose.Cells FOSS for .NET ialah perpustakaan kod terurus tulen, berlesen MIT, untuk membaca, menulis, dan memanipulasi buku kerja Excel .xlsx tanpa sebarang kebergantungan Microsoft Office. Dipasang sebagai pakej NuGet Aspose.Cells_FOSS, ia mengintegrasikan ke dalam mana-mana projek .NET — aplikasi konsol, web API, pekerja latar belakang, dan fungsi tanpa pelayan.

Pos ini menyediakan panduan langkah demi langkah ciri demi ciri API awam, menunjukkan apa yang mungkin dan cara memanggil setiap keupayaan daripada kod C#.


Gambaran Ciri

Kitaran Hayat Buku Kerja dan Lembaran Kerja

Titik masuk untuk setiap operasi ialah kelas Workbook. Bina satu dari awal dengan new Workbook(), atau muatkan .xlsx yang sedia ada dengan new Workbook(filePath) atau new Workbook(stream). Navigasi helaian melalui Workbook.Worksheets, tetapkan Worksheet.Name dan Worksheet.VisibilityType, dan simpan dengan Workbook.Save(). Untuk fail rosak, serahkan contoh LoadOptions dengan TryRepairPackage = true dan TryRepairXml = true.

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);
}

Data Sel dan Formula

Tulis nilai ke sel dengan Cell.PutValue() — overload menerima string, int, double, decimal, bool, dan DateTime. Baca nilai kembali melalui Cell.Value, Cell.StringValue, dan Cell.Formula. Tetapkan formula Excel dengan sifat Cell.Formula; rentetan formula dipelihara semasa simpan dan bertahan dalam kitar semula muat semula.

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);

Penggayaan Sel

Terapkan objek Style untuk mengawal fon, isian, sempadan, format nombor, dan penjajaran.
Dapatkan gaya semasa dengan Cell.GetStyle(), ubahnya, kemudian komit dengan
Cell.SetStyle(). Untuk isian latar belakang, tetapkan Style.Pattern = FillPattern.Solid dan tugaskan
Color kepada Style.ForegroundColor. Gunakan Cells.Merge() untuk meliputi julat sel.

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}");

Pemformatan Bersyarat

Lampirkan peraturan pemformatan bersyarat ke julat sel melalui ConditionalFormattingCollection. Peraturan menyokong FormatConditionType.CellValue, Expression, ColorScale, DataBar, dan IconSet. Gunakan OperatorType untuk menentukan operator perbandingan (Between, Equal, GreaterThan, dll), tetapkan Style kepada sel yang sepadan, dan konfigurasikan keutamaan serta kelakuan stop-if-true bagi setiap peraturan.

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");

Pengesahan Data

Tambah sekatan input kepada sel menggunakan Worksheet.Validations. Jenis pengesahan yang disokong termasuk ValidationType.List, Decimal, Custom, dan lain-lain. Konfigurasikan prompt input (InputTitle, InputMessage) dan mesej ralat (ErrorTitle, ErrorMessage, ValidationAlertType). Gunakan CellArea.CreateCellArea() untuk menentukan julat yang disahkan dan Validation.AddArea() untuk menerapkan peraturan kepada julat tambahan.

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");

Penetapan Halaman dan Pilihan Cetak

Konfigurasikan susun atur cetakan melalui Worksheet.PageSetup. Tetapkan margin (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, skala, kawasan cetakan, baris dan lajur tajuk, pengepala dan pengaki, serta hentian halaman. Semua tetapan bertahan pada kitaran simpan-muat.

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");

Tetapan Lembaran Kerja dan Perlindungan

Kawal paparan per-lembaran dengan Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, Zoom, dan TabColor. Lindungi lembaran dengan Worksheet.Protect() dan konfigurasikan bendera Protection yang terperinci (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells). Urus ketinggian baris, lebar lajur, baris/ lajur tersembunyi, dan kawasan gabungan melalui Cells.Rows, Cells.Columns, dan Cells.Merge().

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");

Pautan Hiper dan Julat Bernama

Tambah pautan luar, dalaman, dan mailto: melalui HyperlinkCollection.Add(). Tetapkan
Hyperlink.TextToDisplay dan Hyperlink.ScreenTip untuk label yang dapat dilihat pengguna. Takrifkan julat bernama
julat pada skop buku kerja atau helaian menggunakan DefinedNameCollection.Add() — julat bernama berfungsi sebagai
penambat formula yang stabil dan sumber data carta yang bertahan selepas memuat semula fail.

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);

Panduan Cepat

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");

Format yang Disokong

FormatSambunganBacaTulis
Xlsx.xlsx
Auto(various)

Sumber Terbuka & Pelesenan

Aspose.Cells FOSS untuk .NET diterbitkan di bawah lesen MIT dan diedarkan melalui NuGet sebagai Aspose.Cells_FOSS. Ia sesuai untuk projek sumber terbuka dan komersial.


Mula

Sumber Berkaitan