Tệp Excel (XLS, XLSX) và PDF nằm trong số những định dạng tài liệu được sử dụng rộng rãi trong hầu hết mọi doanh nghiệp. Đối với các tệp thường được sử dụng như vậy, có nhiều trường hợp chúng ta cần chuyển đổi một tệp sang định dạng khác. Trong bài viết này, chúng ta sẽ tìm hiểu các cách khác nhau để chuyển đổi bảng tính Excel sang định dạng PDF bằng C# với các ứng dụng .NET.

Chuyển đổi Bảng tính Excel sang PDF bằng C#

.NET API để chuyển đổi tệp Excel sang PDF

GroupDocs.Conversion cung cấp các API cho phép các tệp Excel được chuyển đổi sang định dạng PDF trong các ứng dụng .NET. Trong bài viết này, chúng tôi sẽ sử dụng GroupDocs.Conversion for .NET để chuyển đổi dữ liệu tệp Excel XLS/XLSX sang định dạng PDF. Ngoài ra, API hỗ trợ chuyển đổi nhiều định dạng tệp khác như tài liệu soạn thảo văn bản, bảng tính, bản trình bày, sách điện tử, hình ảnh, v.v. được đề cập trong tài liệu.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua NuGet.

PM> Install-Package GroupDocs.Conversion

Chuyển đổi Trang tính Excel sang PDF - C#

Các bước sau đây chuyển đổi toàn bộ sổ làm việc (tất cả các trang tính) sang định dạng PDF bằng C#.

Sau đây là mã nguồn C# để biết cách chuyển đổi sổ làm việc Excel hoàn chỉnh sang PDF trong ứng dụng .NET.

/*
 * Chuyển đổi tất cả các trang tính Excel sang định dạng PDF bằng C#
 */
// Chuẩn bị các tùy chọn Tải và Phạm vi cho tệp XLSX nguồn
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // Chuyển đổi và lưu bảng tính ở định dạng PDF
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
Chuyển đổi PDF từ dữ liệu Excel

Trình tự chuyển Sheet Excel sang PDF - C#

Không phải lúc nào cũng cần chuyển đổi sổ làm việc hoàn chỉnh. Chúng tôi cũng có thể chuyển đổi bất kỳ số lượng tờ liên tiếp nào. Sau đây là các bước để chuyển đổi bất kỳ chuỗi con nào của (các) bảng tính Excel sang định dạng PDF bằng C#.

  • Tải tệp Excel bằng Converter.
  • Xác định các tùy chọn chuyển đổi bằng PdfConvertOptions.
  • Đặt số trang bắt đầu và số trang tiếp theo theo trình tự.
  • Gọi phương thức Convert() với các tùy chọn chuyển đổi để lấy tập hợp con các trang tính theo trình tự được lưu ở định dạng PDF.

Sau đây là mã nguồn C# để chuyển đổi các trang theo trình tự, tức là trang số 2,3 và 4 thành PDF trong ứng dụng .NET.

/*
 * Chuyển đổi chuỗi trang tính Excel sang định dạng PDF bằng C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Đặt số tờ bắt đầu và số tờ liên tiếp
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // Chuyển đổi và lưu bảng tính ở định dạng PDF
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

Chuyển đổi trang tính Excel sang PDF cụ thể - C#

Chúng tôi chỉ có thể cung cấp danh sách số trang tính để chuyển đổi các trang tính cụ thể. Sau đây là các bước để chuyển đổi bất kỳ danh sách số trang cụ thể nào sang định dạng PDF bằng C#.

  • Tải tệp bảng tính bằng Converter.
  • Chọn số trang tính và đặt thành danh sách bằng cách sử dụng PdfConvertOptions.
  • Gọi phương thức Convert() với các tùy chọn chuyển đổi để chuyển đổi các trang tính được liệt kê thành định dạng PDF.

Đoạn mã C# sau chuyển đổi trang số 1, 3 và 5 thành PDF trong ứng dụng .NET.

/*
 * Chuyển đổi danh sách các trang tính Excel được chỉ định sang định dạng PDF bằng C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Đặt danh sách thành số trang khi chuyển đổi
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // Chuyển đổi và lưu bảng tính thành định dạng PDF
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

Chuyển đổi Phạm vi ô đã chọn của Trang tính Excel thành PDF - C#

Cuối cùng nhưng không kém phần quan trọng, trên thực tế, cách phức tạp nhất, chúng ta cũng có thể chuyển đổi bất kỳ phạm vi ô nào của (các) trang tính Excel theo cách gần như tương tự như các phương pháp khác. Sau đây là các bước để chuyển đổi bất kỳ phạm vi ô nào của (các) trang sổ làm việc sang định dạng PDF bằng C#.

  • Đầu tiên, xác định phạm vi ô để chuyển đổi bằng cách sử dụng Tùy chọn tải bảng tính.
  • Tải tệp bảng tính bằng Converter.
  • Chọn các trang tính theo số trang chính xác hoặc chuỗi con bằng cách sử dụng PdfConvertOptions.
  • Gọi phương thức Convert() với các tùy chọn chuyển đổi để chuyển đổi phạm vi ô đã chọn của trang tính đã chọn thành định dạng PDF.

Đoạn mã sau chuyển đổi phạm vi ô (A1:C20) của trang số 2, 3 và 4 sang định dạng PDF bằng C#.

/*
 * Chuyển đổi Phạm vi ô đã chỉ định của các trang tính Excel được chỉ định sang định dạng PDF bằng C#
 */
// Chuẩn bị các tùy chọn Tải và Phạm vi cho tệp XLSX nguồn
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    ConvertRange = "A1:C20"
};
using (var converter = new Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
        // Trang = mới System.Collections.Generic.List<int> { 2,3,4}
    };
    // Lưu dưới dạng PDF sau khi chuyển đổi
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

Sự kết luận

Để kết luận, chúng ta đã tìm hiểu các cách khác nhau để chuyển đổi bảng tính Excel sang định dạng PDF bằng C#. Đầu tiên, chúng tôi tìm cách chuyển đổi sổ làm việc hoàn chỉnh sang định dạng PDF, sau đó chúng tôi chuyển đổi chuỗi phụ của các trang tính. Sau đó, chúng tôi đã học cách chuyển đổi (các) trang tính bất kỳ bằng cách cung cấp danh sách các số trang tính chính xác và cuối cùng, chúng tôi đã lấy được tệp PDF từ phạm vi ô đã chọn của (các) trang tính đã chọn.

Tìm hiểu thêm về API GroupDocs.Conversion từ tài liệu. Nếu có thắc mắc, hãy liên hệ với chúng tôi qua diễn đàn.

Xem thêm