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 denganCell.SetStyle(). Untuk isian latar belakang, tetapkan Style.Pattern = FillPattern.Solid dan tugaskanColor 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(). TetapkanHyperlink.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
| Format | Sambungan | Baca | Tulis |
|---|---|---|---|
| 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.