Perlu memuat string HTML atau halaman web ke Excel untuk pemrosesan, visualisasi, atau penyimpanan? panduan ini menjelaskan bagaimana untuk menukar konten HTML langsung ke buku kerja Excel menggunakan Aspose.Cells untuk .NET.

Pengenalan

Konversi data HTML ke Excel dapat menjadi tugas yang sulit karena kompleksitas struktur HTML dan kebutuhan untuk pemformatan yang akurat di Excel. Namun, dengan Aspose.Cells untuk .NET, proses ini menjadi sederhana dan efisien.

Artikel ini akan berjalan Anda melalui langkah-langkah yang diperlukan untuk mengkonversi string HTML atau file ke dalam buku kerja Excel menggunakan C#. Kami akan mencakup segalanya dari menginstal paket yang dibutuhkan untuk menghemat hasil akhir sebagai .xlsx file yang.

Menggunakan kasus untuk HTML ke Excel Conversion

  • Konversi email atau CMS data ke Excel
  • Memproses laporan HTML atau ekspor dari platform pihak ketiga
  • Mengimport tabel web ke spreadsheets terstruktur

Panduan Langkah-Langkah

Langkah 1: Instal Aspose.Cells untuk .NET

$ dotnet add package Aspose.Cells

Langkah 2: Siapkan HTML sebagai string

Siapkan konten HTML Anda dari sumber eksternal atau langsung di dalam kode.

string htmlString = "<html><body><table><tr><td>Item</td><td>Price</td></tr><tr><td>Book</td><td>20</td></tr></table></body></html>";

Langkah 3: Mengkonversi String ke Stream

Mengubah string HTML menjadi a MemoryStream objek, yang diperlukan untuk mengunggah konten HTML.

using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    // Proceed with loading the stream into an Excel workbook
}

Langkah 4: Download HTML Stream dengan HtmlLoadOptions

Penggunaan HtmlLoadOptions untuk mengunggah konten HTML dari MemoryStream dan menciptakan sesuatu yang baru Workbook dengan objek.

using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
}

Langkah 5: Bekerja dengan buku kerja (optional)

Setelah konten HTML diunggah ke Workbook, Anda dapat memanipulasi seperti yang diperlukan. misalnya, Anda mungkin ingin menambahkan formula atau gaya.

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
}

Langkah 6: Simpan hasil file Excel

Akhirnya, menyimpan yang diubah Workbook untuk file pada cakera.

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

Contoh kode lengkap

Berikut adalah contoh lengkap yang menunjukkan bagaimana untuk menukar string HTML ke file Excel menggunakan Aspose.Cells untuk .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.");
    }
}

Praktik Terbaik

PraktikManfaat
Menggunakan Streams untuk Integrasi WebLebih mudah untuk mengendalikan APIs
Penggunaan HtmlLoadOptionsCustomize parsing atau menangani konten HTML lanjutan
Auto-fit kolomMeningkatkan readability output

Subseksyen: Mengendalikan Struktur HTML Kompleks

Ketika berurusan dengan struktur HTML yang kompleks, penting untuk menggunakan HtmlLoadOptions Kelas untuk menyesuaikan bagaimana Aspose.Cells membandingkan HTML. Ini dapat mencakup pilihan pengaturan seperti mengabaikan elemen tertentu atau menangani tag tertentu dengan cara yang berbeda.

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

Kesimpulan

Konversi konten HTML ke Excel menggunakan Aspose.Cells untuk .NET adalah cara yang kuat untuk mengintegrasikan data web ke dalam aliran kerja Excel Anda.Dengan mengikuti panduan ini, Anda akan dapat menangani struktur HTML yang sederhana dan kompleks dengan mudah.

More in this category