Cần tải một dòng HTML hoặc trang web vào Excel để xử lý, hiển thị hoặc lưu trữ? hướng dẫn này giải thích cách chuyển đổi nội dung HTML trực tiếp sang sổ làm việc Excel bằng cách sử dụng Aspose.Cells for .NET.
Giới thiệu
Chuyển đổi dữ liệu HTML sang Excel có thể là một nhiệm vụ khó khăn do sự phức tạp của cấu trúc HTML và nhu cầu định dạng chính xác trong Excel. Tuy nhiên, với Aspose.Cells cho .NET, quá trình này trở nên đơn giản và hiệu quả.
Bài viết này sẽ hướng dẫn bạn thông qua các bước cần thiết để chuyển đổi một dòng HTML hoặc tệp thành một sổ làm việc Excel bằng cách sử dụng C#. Chúng tôi sẽ bao gồm tất cả mọi thứ từ cài đặt gói yêu cầu để tiết kiệm kết quả cuối cùng như một .xlsx file.
Sử dụng trường hợp cho HTML sang Excel chuyển đổi
- Chuyển đổi email hoặc dữ liệu CMS sang Excel
 - Xử lý báo cáo HTML hoặc xuất khẩu từ các nền tảng bên thứ ba
 - Import web tabs into structured spreadsheets
 
Hướng dẫn Step-by-Step
Bước 1: Cài đặt Aspose.Cells cho .NET
$ dotnet add package Aspose.Cells
Bước 2: Chuẩn bị HTML như một dòng
Chuẩn bị nội dung HTML của bạn từ một nguồn bên ngoài hoặc trực tiếp trong mã.
string htmlString = "<html><body><table><tr><td>Item</td><td>Price</td></tr><tr><td>Book</td><td>20</td></tr></table></body></html>";
Bước 3: Chuyển đổi dòng sang dòng
Chuyển đổi dòng HTML thành A MemoryStream đối tượng, cần thiết để tải nội dung HTML.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    // Proceed with loading the stream into an Excel workbook
}
Bước 4: Tải HTML Stream với HtmlLoadOptions
Sử dụng HtmlLoadOptions để tải nội dung HTML từ MemoryStream và tạo ra một mới Workbook đối tượng.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
}
Bước 5: Làm việc với sổ làm việc (tùy chọn)
Khi nội dung HTML được tải vào một Workbook, Ví dụ, bạn có thể muốn thêm công thức hoặc phong cách.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
    Worksheet sheet = workbook.Worksheets[0];
    // Add formulas, styles, or modify data
}
Bước 6: Save the Resulting Excel File
Cuối cùng, hãy lưu những thay đổi Workbook Một file trên đĩa.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
    // Optional: Modify the data or format
    Worksheet sheet = workbook.Worksheets[0];
    sheet.AutoFitColumns();
    workbook.Save("converted.xlsx", SaveFormat.Xlsx);
}
Mẫu mã đầy đủ
Dưới đây là một ví dụ đầy đủ cho thấy làm thế nào để chuyển đổi một string HTML sang một tệp Excel bằng cách sử dụng Aspose.Cells cho .NET.
using System;
using System.IO;
using System.Text;
using Aspose.Cells;
public class HtmlToExcelConverter
{
    public static void Main()
    {
        string html = "<html><body><table><tr><td>Name</td><td>Score</td></tr><tr><td>Alice</td><td>92</td></tr></table></body></html>";
        using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(html)))
        {
            Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
            Worksheet sheet = workbook.Worksheets[0];
            sheet.AutoFitColumns();
            workbook.Save("html_to_excel.xlsx", SaveFormat.Xlsx);
        }
        Console.WriteLine("HTML converted to Excel.");
    }
}
Thực hành tốt nhất
| Thực hành | lợi ích | 
|---|---|
| Sử dụng Streams để tích hợp web | dễ dàng hơn để xử lý trong APIs | 
Sử dụng HtmlLoadOptions | Tùy chỉnh parsing hoặc xử lý nội dung HTML tiên tiến | 
| Tính tự động Columns | Tăng khả năng đọc của sản phẩm | 
Chủ đề: Quản lý cấu trúc HTML phức tạp
Khi đối phó với các cấu trúc HTML phức tạp, điều quan trọng là phải sử dụng HtmlLoadOptions lớp để tùy chỉnh làm thế nào Aspose.Cells phân phối HTML. Điều này có thể bao gồm các tùy chọn thiết lập như bỏ qua các yếu tố nhất định hoặc xử lý các thẻ cụ thể khác nhau.
using System;
using System.IO;
using System.Text;
using Aspose.Cells;
public class ComplexHtmlToExcelConverter
{
    public static void Main()
    {
        string complexHtml = @"
            <html>
                <body>
                    <table border='1'>
                        <tr>
                            <th>Product</th>
                            <th>Price</th>
                            <th>Quantity</th>
                        </tr>
                        <tr>
                            <td>Laptop</td>
                            <td>$999.99</td>
                            <td>5</td>
                        </tr>
                        <tr>
                            <td>Smartphone</td>
                            <td>$699.99</td>
                            <td>10</td>
                        </tr>
                    </table>
                </body>
            </html>";
        // Create a MemoryStream from the HTML string
        using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(complexHtml)))
        {
            // Use HtmlLoadOptions to customize parsing if needed
            HtmlLoadOptions loadOptions = new HtmlLoadOptions();
            loadOptions.AutoFilterColumns = true;  // Enable auto-filter for columns
            // Load the HTML content into a Workbook
            Workbook workbook = new Workbook(htmlStream, loadOptions);
            // Access the first worksheet
            Worksheet sheet = workbook.Worksheets[0];
            // Auto-fit all columns to improve readability
            sheet.AutoFitColumns();
            // Save the resulting Excel file
            workbook.Save("complex_html_to_excel.xlsx", SaveFormat.Xlsx);
        }
        Console.WriteLine("Complex HTML converted to Excel.");
    }
}
Kết luận
Chuyển đổi nội dung HTML sang Excel bằng cách sử dụng Aspose.Cells for .NET là một cách mạnh mẽ để tích hợp dữ liệu web vào dòng công việc Excel của bạn.Bằng cách làm theo hướng dẫn này, bạn sẽ có thể xử lý cả các cấu trúc HTML đơn giản và phức tạp dễ dàng.