تبدیل گزارش‌های HTML به صفحات‌گسترده Excel یک نیاز مکرر برای برنامه‌های تجاری مبتنی بر PHP‑است که نیاز به استخراج داده‌ها برای تجزیه و تحلیل یا مرور آفلاین دارند. GroupDocs.Conversion Cloud SDK for PHP یک API قابل اعتماد ارائه می‌دهد که بار سنگین رندر HTML و تولید فایل‌های XLSX را بر عهده می‌گیرد. در این آموزش، خواهید آموخت که چگونه تبدیل HTML به XLSX را در PHP انجام دهید، فرآیند را ایمن کنید و عملکرد را برای اسناد بزرگ بهینه‌سازی کنید.

مراحل تبدیل HTML به XLSX در PHP

  1. ایجاد یک کلاینت Conversion API - کلاس ConversionApi را با اعتبارهای کلاینت خود مقداردهی اولیه کنید.
    • مثال: new \GroupDocs\Conversion\ConversionApi($config);
    • برای جزئیات کلاس، به API Reference مراجعه کنید.
  2. بارگذاری فایل منبع HTML - از نقطه انتهایی UploadFile برای ارسال سند HTML به ذخیره‌سازی GroupDocs استفاده کنید.
  3. پیکربندی گزینه‌های تبدیل - قالب خروجی را به XLSX تنظیم کنید و به‌صورت اختیاری اندازه صفحه، نام کاربرگ یا تنظیمات استخراج داده را تنظیم نمایید.
  4. اجرای تبدیل - متد ConvertDocument را با شناسه فایل منبع و گزینه‌های پیکربندی‌شده فراخوانی کنید.
  5. بارگیری نتیجه XLSX - فایل تولید شده را از URL پاسخ یا مکان ذخیره‌سازی دریافت کنید.

تبدیل HTML به XLSX با استفاده از GroupDocs - مثال کامل کد

مثال زیر یک جریان تبدیل کامل از ابتدا تا انتها را نشان می‌دهد، از احراز هویت تا دانلود فایل.

این مثال نشان می‌دهد که چگونه می‌توان یک فایل HTML را به XLSX تبدیل کرد با استفاده از GroupDocs.Conversion Cloud SDK for PHP.

<?php
require 'vendor/autoload.php';

use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;

// Replace with your actual credentials
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';

// Configure the SDK
$config = new Configuration();
$config->setAppSid($clientId);
$config->setAppKey($clientSecret);

// Create API instance
$apiInstance = new ConversionApi($config);

// Paths to local files (can be absolute or relative)
$sourcePath = 'sample.html';
$targetPath = 'output.xlsx';

// Prepare conversion request
$request = new ConvertDocumentRequest(
    $sourcePath,          // Path to the source HTML file
    'XLSX',               // Desired output format
    null,                 // Optional conversion options (null for defaults)
    $targetPath           // Path where the XLSX will be saved
);

try {
    // Perform conversion
    $apiInstance->convertDocument($request);
    echo "Conversion successful. XLSX saved to {$targetPath}\n";
} catch (Exception $e) {
    echo 'Conversion failed: ', $e->getMessage(), "\n";
}
?>

نکته: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید مسیرهای فایل (sample.html, output.xlsx) به‌روز شده‌اند، تأیید کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه کنید.

تبدیل HTML به XLSX مبتنی بر ابر از طریق REST API با استفاده از cURL

شما همچنین می‌توانید تبدیل را به‌صورت مستقیم از طریق تماس‌های REST انجام دهید. دستورات cURL مورد نیاز در زیر آمده است.

ابتدا، یک توکن دسترسی با استفاده از اعتبارهای مشتری خود دریافت کنید.

curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
     -H "Content-Type: application/json" \
     -d '{"grant_type":"client_credentials","client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

فایل HTML را به نقطه انتهایی ذخیره‌سازی بارگذاری کنید.

curl -X POST "https://api.groupdocs.cloud/v1.0/storage/upload" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@sample.html"

درخواست تبدیل به XLSX.

curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "inputPath": "sample.html",
           "outputPath": "output.xlsx",
           "outputFormat": "XLSX"
         }'

فایل تبدیل‌شده را دانلود کنید.

curl -X GET "https://api.groupdocs.cloud/v1.0/storage/download?path=output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

برای جزئیات بیشتر در مورد پارامترهای درخواست، مستندات رسمی API را ببینید.

نصب و راه‌اندازی در PHP

  1. SDK را از طریق Composer نصب کنید:
    composer require groupdocs-conversion-cloud
    
  2. نصب را با بررسی پوشه vendor تأیید کنید.
  3. Client ID و Client Secret خود را از پورتال GroupDocs دریافت کنید.
  4. (اختیاری) آخرین بسته را به‌صورت دستی از Download URL دانلود کنید.
  5. اطمینان حاصل کنید که نسخه PHP شما الزامات SDK را برآورده می‌کند (PHP 7.4+).

آموزش تبدیل HTML به XLSX در PHP با GroupDocs.Conversion

GroupDocs.Conversion Cloud یک API یکپارچه ارائه می‌دهد که منطق خاص فرمت‌ها را انتزاع می‌کند. هنگامی که یک سند HTML ارسال می‌کنید، سرویس نشانه‌گذاری را تجزیه می‌کند، جداول، سبک‌ها و تصاویر تعبیه‌شده را رندر می‌کند و سپس آن‌ها را به ورق‌های Excel تبدیل می‌نماید. این رویکرد نیاز به تجزیه‌کننده‌های شخص ثالث یا تولید دستی CSV را از بین می‌برد و نمایی دقیق از صفحه‌گسترده‌ای که مطابق با چیدمان اصلی HTML است، ارائه می‌دهد.

GroupDocs.Conversion ویژگی‌ها

  • قالب‌های ورودی متعدد - HTML, DOCX, PDF, and more.
  • رندر با دقت بالا - Preserves CSS styling, merged cells, and images.
  • پردازش مقیاس‌پذیر ابری - Handles large files without local resource constraints.
  • مدیریت ایمن داده‌ها - All traffic is encrypted, and files are stored temporarily.
  • گزینه‌های قابل گسترش - Control worksheet name, column widths, and data extraction modes.

بهینه‌سازی عملکرد برای تبدیل HTML به XLSX در PHP

هنگام تبدیل گزارش‌های بزرگ HTML، نکات زیر را در نظر بگیرید:

اندازه HTMLزمان متوسط تبدیلحداکثر مصرف حافظه
100 KB0.8 s45 MB
500 KB2.4 s120 MB
1 MB4.9 s210 MB

پیشنهادات

  • بخش‌بندی HTML بزرگ به بخش‌ها تقسیم کنید و به‌صورت متوالی تبدیل کنید.
  • فعال‌سازی استریم با تنظیم useStreaming=true در گزینه‌های درخواست.
  • استفاده مجدد از کلاینت API در چندین تبدیل برای جلوگیری از هزینهٔ مکرر احراز هویت.

این روش‌ها عملکرد تبدیل HTML به XLSX در PHP را بهبود می‌بخشند و فشار حافظه روی سرور شما را کاهش می‌دهند.

بهترین شیوه‌های امنیتی برای تبدیل HTML به XLSX

  • اعتبارها را به‌صورت ایمن ذخیره کنید - به‌جای کدنویسی ثابت، از متغیرهای محیطی یا یک مدیر رمز عبور استفاده کنید.
  • ورودی HTML را اعتبارسنجی کنید - قبل از بارگذاری، اسکریپت‌ها یا منابع خارجی که ممکن است خطرناک باشند را حذف کنید.
  • از HTTPS استفاده کنید - تمام نقاط انتهایی API به TLS 1.2 یا بالاتر نیاز دارند.
  • اعطای کمترین دسترسی ممکن - SDK را فقط به محدوده‌های ذخیره‌سازی که نیاز دارد محدود کنید.
  • نظارت بر استفاده - برای پیگیری فعالیت‌های تبدیل، لاگ‌های حسابرسی را در پورتال GroupDocs فعال کنید.

نتیجه‌گیری

تبدیل HTML به XLSX در PHP با استفاده از GroupDocs.Conversion Cloud SDK for PHP ساده می‌شود. با دنبال کردن مراحل، مثال‌های کد و راهنمایی‌های امنیتی ارائه‌شده در اینجا، می‌توانید به‌صورت قابل اعتماد فایل‌های Excel را از محتوای غنی HTML تولید کنید، چه فرآیند را به‌صورت درون‌سازمانی اجرا کنید و چه در ابر. برای استقرارهای تولیدی، یک لایسنس مناسب را از طریق صفحه لایسنس موقت دریافت کنید یا گزینه‌های کامل قیمت‌گذاری را در سایت محصول بررسی کنید.

سوالات متداول

چگونه می‌توانم فایل‌های بزرگ HTML را هنگام تبدیل HTML به XLSX در PHP مدیریت کنم؟
سند را به بخش‌های کوچکتر تقسیم کنید، از گزینه استریمینگ استفاده کنید و هر بخش را به‌صورت متوالی پردازش کنید. پرچم useStreaming در SDK مصرف حافظه را کاهش داده و سرعت تبدیل را افزایش می‌دهد.

روش پیشنهادی برای ایمن‌سازی اعتبارنامه‌های API من برای تبدیل HTML به XLSX در PHP چیست؟
YOUR_CLIENT_ID و YOUR_CLIENT_SECRET را در متغیرهای محیطی یا یک مخزن امن ذخیره کنید و هرگز آنها را به کنترل نسخه کامیت نکنید. SDK این مقادیر را در زمان اجرا می‌خواند.

آیا می‌توانم تبدیل HTML به XLSX را در Azure Functions یا AWS Lambda اجرا کنم؟
بله. API ابری از هر محیطی که بتواند درخواست‌های HTTPS ارسال کند، از جمله پلتفرم‌های سرورلس Azure و AWS کار می‌کند. فقط SDK را از طریق Composer اضافه کنید و در صورت نیاز URL نقطه انتها را پیکربندی کنید.

آیا راهی برای تبدیل HTML به XLSX بدون نوشتن کد تجزیه سفارشی وجود دارد؟
به‌طور قطع. متد ConvertDocument در SDK تمام منطق تجزیه و نگاشت را انتزاع می‌کند و به شما امکان می‌دهد با یک فراخوانی API تبدیل کنید.

بیشتر بخوانید