Giới thiệu

Aspose.Cells FOSS for .NET là một thư viện mã quản lý thuần túy, được cấp phép MIT, dùng để đọc, ghi, và thao tác với các sổ làm việc Excel .xlsx mà không cần phụ thuộc vào Microsoft Office. Được cài đặt dưới dạng gói Aspose.Cells_FOSS NuGet, nó tích hợp vào bất kỳ dự án .NET nào — ứng dụng console, API web, các worker nền, và các hàm serverless.

Bài viết này cung cấp hướng dẫn chi tiết từng tính năng của API công cộng, cho thấy những gì có thể thực hiện và cách gọi mỗi khả năng từ mã C#.


Tổng quan tính năng

Vòng đời Workbook và Worksheet

Điểm vào cho mọi thao tác là lớp Workbook. Tạo một đối tượng từ đầu bằng new Workbook(), hoặc tải một .xlsx hiện có bằng new Workbook(filePath) hoặc new Workbook(stream). Duyệt các trang tính qua Workbook.Worksheets, đặt Worksheet.NameWorksheet.VisibilityType, và lưu lại bằng Workbook.Save(). Đối với các tệp bị hỏng, truyền một thể hiện LoadOptions với TryRepairPackage = trueTryRepairXml = 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);
}

Dữ liệu ô và công thức

Ghi giá trị vào các ô bằng Cell.PutValue() — các phiên bản quá tải chấp nhận string, int, double, decimal, boolDateTime. Đọc lại các giá trị qua Cell.Value, Cell.StringValueCell.Formula. Đặt công thức Excel bằng thuộc tính Cell.Formula; chuỗi công thức được giữ lại khi lưu và tồn tại qua một chu kỳ tải lại.

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

Định dạng ô

Áp dụng các đối tượng Style để kiểm soát phông chữ, màu nền, viền, định dạng số và căn chỉnh.
Lấy kiểu hiện tại bằng Cell.GetStyle(), thay đổi nó, sau đó cam kết bằng
Cell.SetStyle(). Đối với màu nền, đặt Style.Pattern = FillPattern.Solid và gán một
Color cho Style.ForegroundColor. Sử dụng Cells.Merge() để mở rộng phạm vi ô.

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

Định dạng có điều kiện

Gắn các quy tắc định dạng có điều kiện vào các phạm vi ô qua ConditionalFormattingCollection.
Các quy tắc hỗ trợ FormatConditionType.CellValue, Expression, ColorScale, DataBar, và
IconSet. Sử dụng OperatorType để chỉ định các toán tử so sánh (Between, Equal,
GreaterThan, v.v.), gán một Style cho các ô khớp, và cấu hình độ ưu tiên và
hành vi dừng nếu đúng cho mỗi quy tắc.

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

Xác thực dữ liệu

Thêm ràng buộc nhập cho các ô bằng cách sử dụng Worksheet.Validations. Các loại xác thực được hỗ trợ bao gồm ValidationType.List, Decimal, Custom và hơn nữa. Cấu hình lời nhắc nhập (InputTitle, InputMessage) và thông báo lỗi (ErrorTitle, ErrorMessage, ValidationAlertType). Sử dụng CellArea.CreateCellArea() để xác định phạm vi đã xác thực và Validation.AddArea() để áp dụng quy tắc cho các phạm vi bổ sung.

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

Cài đặt Trang và Tùy chọn In

Cấu hình bố cục in qua Worksheet.PageSetup. Đặt lề (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, tỷ lệ, khu vực in, các hàng và cột tiêu đề, đầu trang và chân trang, và ngắt trang. Tất cả các cài đặt vẫn tồn tại qua vòng lưu‑tải.

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

Cài đặt và Bảo vệ Bảng tính

Kiểm soát hiển thị theo sheet với Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, ZoomTabColor. Bảo vệ các sheet bằng Worksheet.Protect() và cấu hình các cờ Protection chi tiết (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells). Quản lý chiều cao hàng, chiều rộng cột, các hàng/cột ẩn và các vùng hợp nhất thông qua Cells.Rows, Cells.ColumnsCells.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");

Liên kết siêu văn bản và Phạm vi có tên

Thêm siêu liên kết bên ngoài, bên trong và mailto: qua HyperlinkCollection.Add(). Đặt Hyperlink.TextToDisplayHyperlink.ScreenTip cho nhãn hiển thị cho người dùng. Định nghĩa các phạm vi có tên ở phạm vi sổ làm việc hoặc trang tính bằng cách sử dụng DefinedNameCollection.Add() — các phạm vi có tên hoạt động như các neo công thức ổn định và nguồn dữ liệu biểu đồ tồn tại qua việc tải lại tệp.

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

Bắt đầu nhanh

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

Định dạng được hỗ trợ

Định dạngPhần mở rộngĐọcGhi
Xlsx.xlsx
Auto(various)

Mã nguồn mở & Cấp phép

Aspose.Cells FOSS for .NET được công bố dưới giấy phép MIT và được phân phối qua NuGet dưới dạng Aspose.Cells_FOSS. Nó phù hợp cho cả các dự án mã nguồn mở và thương mại.


Bắt đầu

Tài nguyên liên quan