Làm việc với Bảng tính Đa Tab
Giới thiệu
Nếu bạn cần lưu mỗi tab Excel dưới dạng một tệp độc lập, GroupDocs.Editor for .NET giúp việc này trở nên dễ dàng. Dù bạn đang trích xuất báo cáo tài chính, tạo các worksheet theo phòng ban, hay chuyển đổi các tab sang PDF, hướng dẫn này sẽ dẫn bạn qua toàn bộ quy trình — từ cài đặt môi trường đến giải phóng tài nguyên — để bạn có thể tự động xử lý đa sheet một cách tự tin.
Câu trả lời nhanh
- GroupDocs.Editor có thể tách một tệp XLSX thành các tệp riêng biệt không? Có, bạn có thể tải workbook và xuất mỗi sheet riêng lẻ.
- Các định dạng nào mà mỗi tab có thể được lưu? XLSX, CSV, PDF, HTML và hơn nữa – hơn 30 định dạng đầu ra được hỗ trợ.
- Tôi có cần giấy phép cho tính năng này không? Giấy phép tạm thời hoạt động cho việc thử nghiệm; giấy phép đầy đủ là bắt buộc cho môi trường sản xuất.
- .NET Core có được hỗ trợ không? Chắc chắn – thư viện hoạt động với .NET Framework 4.0+ và .NET Core/5/6+.
- Có bao nhiêu tab có thể được xử lý cùng một lúc? GroupDocs.Editor có thể xử lý workbook với hơn 500 sheet mà không cần tải toàn bộ tệp vào bộ nhớ.
“Lưu mỗi tab Excel” là gì?
“Save each Excel tab” có nghĩa là trích xuất mỗi worksheet từ một workbook đa sheet và ghi mỗi sheet vào một tài liệu độc lập riêng (ví dụ: các tệp XLSX hoặc PDF riêng biệt). Cách tiếp cận này đơn giản hoá việc xử lý, báo cáo và phân phối downstream bằng cách cung cấp cho bạn một tệp cho mỗi sheet, sau đó có thể được chia sẻ, lưu trữ hoặc chuyển đổi thêm một cách độc lập.
Tại sao nên sử dụng GroupDocs.Editor cho nhiệm vụ này?
GroupDocs.Editor hỗ trợ hơn 30 định dạng đầu vào và đầu ra và có thể xử lý bảng tính với tối đa 1.000 sheet trong khi giữ mức sử dụng bộ nhớ thấp bằng cách stream dữ liệu thay vì tải toàn bộ tệp. API cũng bảo tồn các kiểu ô, công thức và hình ảnh nhúng, đảm bảo mỗi tab được xuất ra trông giống hệt bản gốc.
Yêu cầu trước
- Visual Studio – bất kỳ phiên bản gần đây nào (Community, Professional, hoặc Enterprise).
- .NET Framework 4.0+ – hoặc .NET Core/5/6 nếu bạn ưu tiên runtime đa nền tảng.
- GroupDocs.Editor for .NET – tải xuống từ download page.
- License – một temporary license là đủ cho việc thử nghiệm; mua giấy phép đầy đủ cho môi trường sản xuất.
- Free trial – bạn cũng có thể thử thư viện qua trang free trial.
- Support – nếu bạn gặp vấn đề, truy cập support forum hoặc xem xét purchase page để mua giấy phép đầy đủ.
Nhập không gian tên
Trước khi bắt đầu viết mã, bạn cần nhập các không gian tên cần thiết. Thêm các chỉ thị using sau vào đầu file .cs của bạn:
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
Cách lưu mỗi tab Excel thành một tệp riêng biệt?
Tải workbook, tạo một EditableDocument cho mỗi sheet, và gọi Save với định dạng mong muốn. Quá trình này tách riêng mỗi tab, cho phép bạn chọn đường dẫn đầu ra riêng biệt, và tự động giải phóng tài nguyên. Dưới đây là quy trình từng bước bạn sẽ thực hiện, kèm giải thích cho mỗi lời gọi API và các mẹo thực hành tốt để tránh những lỗi thường gặp.
Bước 1: Lấy Đường dẫn tới Tệp Đầu vào
Đầu tiên, chỉ định đường dẫn đầy đủ tới tệp XLSX nguồn chứa nhiều tab.
string inputFilePath = "Your Sample Document";
Bước 2: Tải Bảng tính vào Instance Editor
Lớp Editor là điểm vào cho tất cả các thao tác tài liệu trong GroupDocs.Editor. Nó đọc luồng tệp và chuẩn bị tài liệu để chỉnh sửa hoặc trích xuất.
using (FileStream inputStream = File.OpenRead(inputFilePath))
{
using (Editor editor = new Editor(delegate { return inputStream; }, delegate { return new SpreadsheetLoadOptions(); }))
{
// Further steps will go here
}
}
Bước 3: Tạo EditableDocument từ Tab Đầu tiên
EditableDocument đại diện cho một sheet duy nhất, có thể chỉnh sửa trong workbook. Hàm khởi tạo nhận instance Editor và chỉ số sheet bắt đầu từ 0.
SpreadsheetEditOptions editOptions1 = new SpreadsheetEditOptions();
editOptions1.WorksheetIndex = 0; // First tab
EditableDocument firstTabBeforeEdit = editor.Edit(editOptions1);
Bước 4: Tạo EditableDocument từ Tab Thứ hai
Bạn có thể lặp lại cùng mẫu cho bất kỳ sheet bổ sung nào bằng cách thay đổi giá trị chỉ số.
SpreadsheetEditOptions editOptions2 = new SpreadsheetEditOptions();
editOptions2.WorksheetIndex = 1; // Second tab
EditableDocument secondTabBeforeEdit = editor.Edit(editOptions2);
Bước 5: Lưu Tab Đầu tiên thành Tài liệu Riêng biệt
Save ghi tài liệu đã chỉnh sửa vào tệp với định dạng được chỉ định. Gọi nó trên instance EditableDocument, cung cấp đường dẫn đầu ra và định dạng (ví dụ: SaveFormat.Xlsx).
SpreadsheetSaveOptions saveOptions1 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsm);
string outputFilename1 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab1.xlsm";
string outputPath1 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename1);
editor.Save(firstTabBeforeEdit, outputPath1, saveOptions1);
Bước 6: Lưu Tab Thứ hai thành Tài liệu Riêng biệt
Lệnh Save tương tự hoạt động cho sheet thứ hai, và bạn có thể chọn định dạng khác như PDF nếu cần.
SpreadsheetSaveOptions saveOptions2 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsb);
string outputFilename2 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab2.xlsb";
string outputPath2 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename2);
editor.Save(secondTabBeforeEdit, outputPath2, saveOptions2);
Bước 7: Giải phóng các Instance EditableDocument
Dispose giải phóng các tài nguyên không quản lý do tài liệu giữ, như các handle tệp, đảm bảo không có rò rỉ trong các dịch vụ chạy lâu.
firstTabBeforeEdit.Dispose();
secondTabBeforeEdit.Dispose();
Các vấn đề thường gặp và giải pháp
- “File is locked” errors – Đảm bảo bạn gọi
Dispose()trên mọiEditableDocumentvà instanceEditor, hoặc bọc chúng trong câu lệnhusing. - Missing styles after export – Kiểm tra rằng bạn đang lưu sang định dạng hỗ trợ kiểu dáng (ví dụ: XLSX hoặc PDF). CSV sẽ mất định dạng theo thiết kế.
- Large workbooks cause slow performance – Sử dụng tùy chọn tải streaming (
LoadOptions.Streaming = true) để giữ mức sử dụng bộ nhớ thấp.
Câu hỏi thường gặp
Q: Nếu workbook của tôi chứa các sheet ẩn thì sao?
A: Các sheet ẩn được xử lý giống như bất kỳ sheet nào khác; bạn có thể truy cập chúng bằng chỉ số và lưu, nhưng có thể cần đặt EditableDocument.IsVisible = true trước khi lưu nếu muốn chúng hiển thị trong đầu ra.
Q: Tôi có thể chuyển đổi một tab Excel trực tiếp sang PDF không?
A: Có, chỉ định SaveFormat.Pdf khi gọi Save trên EditableDocument. Thư viện bảo tồn bố cục, hình ảnh và biểu đồ trong quá trình chuyển đổi.
Q: Có thể tách một workbook thành các tệp CSV thay vì XLSX không?
A: Chắc chắn. Sử dụng SaveFormat.Csv cho mỗi EditableDocument để tạo ra các biểu diễn CSV dạng văn bản thuần cho mỗi sheet.
Q: GroupDocs.Editor có hỗ trợ các tệp Excel được bảo vệ bằng mật khẩu không?
A: Có. Cung cấp mật khẩu qua LoadOptions.Password khi tạo instance Editor.
Q: Tôi có thể tìm thêm ví dụ về làm việc với bảng tính ở đâu?
A: Tài liệu chính thức và các dự án mẫu trên download page chứa các trường hợp sử dụng bổ sung.
Kết luận
Bằng cách thực hiện các bước này, bạn có thể lưu mỗi tab Excel thành một tài liệu độc lập, chuyển đổi các tab sang PDF, hoặc tách các workbook lớn thành các phần dễ quản lý — tất cả đều với thư viện GroupDocs.Editor cho .NET đáng tin cậy, hiệu năng cao. Khả năng này giúp đơn giản hoá quy trình báo cáo, tự động hoá việc trích xuất dữ liệu, và giảm bớt việc xử lý bảng tính thủ công.
Cập nhật lần cuối: 2026-06-06
Được kiểm tra với: GroupDocs.Editor 23.11 for .NET
Tác giả: GroupDocs