لديك مجلدات من ملفات HTML أو صفحات ويب مستخرجة مليئة ببيانات <table> — تقارير مالية، كتالوجات منتجات، لوحات تحليلات مُصدَّرة — وتحتاجها كجداول Excel حقيقية حتى يتمكّن المحلّلون من الفرز والتصفية والجمع وبناء الجداول المحورية. فتح كل ملف في المتصفح ونسخ الجداول ولصقها في Excel يكسر الصيغ ويفسد التنسيق بعد الملف الثاني. Total HTML Converter X يُحوّل ملفات HTML إلى XLS من سطر الأوامر، دفعةً، بدون واجهة رسومية وبدون الحاجة إلى تثبيت Microsoft Excel. ثبّته على خادم Windows، استدعِه من سكربت أو عبر ActiveX، ودعه يعمل دون إشراف.
*.html) وسيعالج المحوّل كل الملفات المطابقة في تشغيلة واحدة<table>، <tr>، <td>، <th>، colspan وrowspan، والأنماط المضمّنة التي تؤثّر على محتوى الخلية
(30 يومًا، بدون بريد إلكتروني)
(ترخيص خادم، دائم)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
HTML يعرض البيانات الجدولية، لكنه لا يخزّنها كجدول بيانات. الـ<table> في المتصفح هي ترميز للقراءة فقط — لا يمكنك فرز عمود أو تصفية الصفوف أو كتابة صيغة SUM أو بناء جدول محوري. الأرقام نصوص داخل خلايا، وليست قيمًا رقمية يمكن للمحلّل أن يحسب عليها.
XLS هو تنسيق Microsoft Excel الذي يحوّل البيانات نفسها إلى جدول بيانات يعمل فعلًا. كل خلية تحمل قيمة بنوع — رقم، تاريخ، نص — تدعم الصيغ والفرز والتصفية والتنسيق الشرطي والجداول المحورية. حين تحتاج البيانات المحبوسة داخل صفحات HTML للدخول في سير عمل تحليلي، يجب أن تصبح XLS أولًا.
| HTML | XLS | |
|---|---|---|
| نوع البيانات | نص داخل وسوم <td> | قيم خلايا بأنواع (رقم، تاريخ، نص) |
| الفرز والتصفية | غير مدعوم | مدمج في Excel |
| الصيغ | لا توجد | SUM، AVERAGE، VLOOKUP، الجداول المحورية |
| الجمهور | زوّار الويب | المحلّلون، المحاسبون، فرق المالية |
| سير العمل | عرض الويب | التقارير، النمذجة، استيرادات BI |
نزّل المُثبِّت من الرابط أعلاه وشغّله على خادم أو محطة عمل Windows. يستغرق التثبيت أقل من دقيقة. لا حاجة لتثبيت متصفح أو Microsoft Excel — يحلّل المحوّل HTML ويكتب XLS مباشرةً بمحرّكه الخاص، مع دعم كامل لجداول HTML وcolspan وrowspan وأنماط CSS المضمّنة.
افتح cmd.exe أو PowerShell. الملف التنفيذي للمحوّل هو HTMLConverter.exe، ويقع في مجلد التثبيت (عادةً C:\Program Files\CoolUtils\TotalHTMLConverterX\). أضفه إلى متغيّر PATH في النظام أو استخدم المسار الكامل في أوامرك.
أبسط أمر يُحوّل جميع ملفات HTML في مجلد إلى XLS:
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS
يُعالج هذا كل ملف .html في C:\Pages\ ويحفظ ملفات XLS الناتجة في C:\Output\. كل ملف HTML يُنتج ملف XLS واحدًا بنفس الاسم الأساسي. تستقرّ الجداول في المصدر كنطاقات خلايا؛ وتصبح السلاسل الرقمية قيمًا رقمية يمكن للمحلّل أن يحسب عليها.
تحكّم في إخراج XLS بعلامات إضافية:
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS -CodePage 65001 -Sheet ReportData -log C:\Logs\html2xls.log
-CodePage 65001 — تعيين الترميز (65001 = UTF-8، 1252 = الغربية، 1251 = السيريلية، 932 = Shift-JIS)-Sheet ReportData — تسمية ورقة العمل الناتجة داخل XLS-FirstRowAsHeader 1 — وضع علامة على الصف الأول من كل جدول كصف عنوان في XLS-log C:\Logs\html2xls.log — كتابة سجل تحويل للتحققاحفظ أمرك في ملف .bat وجدوِله باستخدام Windows Task Scheduler:
@echo off "C:\Program Files\CoolUtils\TotalHTMLConverterX\HTMLConverter.exe" C:\Incoming\*.html C:\Archive\XLS\ -c XLS -CodePage 65001 -Sheet Data -log C:\Logs\html2xls.log
يُشغّل هذا التحويل كل ليلة (أو بأي فاصل زمني تحدّده) ويكتب ملف سجل لكي تتمكّن من التحقق من النتائج. أسقِط دفعة جديدة من تقارير HTML في C:\Incoming\ والتقط ملفات XLS من C:\Archive\XLS\ في الصباح التالي.
يتضمّن Total HTML Converter X واجهة ActiveX كاملة. يمكنك استدعاء المحوّل من أي بيئة متوافقة مع COM — .NET أو VBScript أو PHP أو Python أو Ruby أو ASP. يتيح لك ذلك دمج تحويل HTML إلى XLS في تطبيق الويب الخاص بك أو بوابة الإنترانت أو خدمة التقارير دون اللجوء إلى عملية سطر أوامر خارجية.
مثال (C#/.NET):
HTMLConverterX Cnv = new HTMLConverterX();
Cnv.Convert("C:\\Pages\\report.html", "C:\\Output\\report.xls", "-c XLS -CodePage 65001 -log c:\\Logs\\html.log");
مثال (PHP):
$c = new COM("HTMLConverter.HTMLConverterX");
$c->convert("C:\\Pages\\report.html", "C:\\Output\\report.xls", "-c XLS -CodePage 65001 -log c:\\Logs\\html.log");
يعمل نفس الاستدعاء من ASP.NET وVBScript وPython وRuby وPerl وJavaScript (Windows Script Host). يمكن لتطبيق الويب الخاص بك قبول صفحة HTML مرفوعة أو عنوان URL وإعادة جدول XLS يعمل إلى المستخدم في الوقت الفعلي.
| الميزة | المحوّلات عبر الإنترنت | Total HTML Converter X |
|---|---|---|
| المعالجة الدفعية | ملف واحد في كل مرة | عدد غير محدود من الملفات لكل دفعة |
| خصوصية الملفات | تُرفع الملفات إلى خادم طرف ثالث | الملفات لا تغادر جهازك |
| تحليل الجداول | أساسي؛ الخلايا المدموجة غالبًا ما تُكسَر | دعم كامل لـ <table>، يحافظ على colspan/rowspan |
| القيم الرقمية | تُحفظ غالبًا كسلاسل نصية | تستقر الأرقام كخلايا رقمية، الصيغ تعمل |
| التحكم بالترميز | مُخمَّن تلقائيًا | علامة -CodePage صريحة، بدون تخمين |
| الأتمتة | يدوي فقط | سطر الأوامر، .bat، Task Scheduler، ActiveX |
| النشر على الخادم | غير ممكن | مصمّم للخوادم، لا حاجة لواجهة رسومية |
| يتطلب تثبيت Excel | غير قابل للتطبيق | لا |
| يتطلب إنترنت | نعم | لا |
يكتب المحوّل ملفات XLS صالحة مباشرةً. لست بحاجة إلى تثبيت Microsoft Office أو LibreOffice أو أي تطبيق جداول بيانات على الخادم. يتجنّب ذلك تكاليف الترخيص وعدم الاستقرار المعروف لأتمتة Excel في سيناريوهات غير مُشرف عليها — لا عمليات EXCEL.EXE اليتيمة، لا مشكلات هويّة DCOM، لا تعليق عشوائي.
صُمِّم Total HTML Converter X للاستخدام دون إشراف. لا نوافذ واجهة رسومية، لا مربعات حوار، لا مطالبات تأكيد. يعمل بصمت من سطر الأوامر أو كجزء من خدمة — تمامًا ما يحتاجه خادم الإنتاج. تشغيله ضمن مهمة Windows مجدولة أو كجزء من خط أنابيب CI أمر مباشر.
يحتوي إخراج XLS على قيم خلايا بأنواع، وليس جدارًا من النصوص يُلقى في العمود A. الأرقام أرقام، التواريخ تواريخ، السلاسل سلاسل. تعمل عمليات الفرز والتصفية والصيغ في Excel على النتيجة دون أي معالجة لاحقة. تنتقل صفوف الرأس والخلايا المدموجة من مصدر HTML إلى جدول البيانات.
تُحوّل أداة سطر الأوامر نفسها HTML إلى PDF وDOC وTIFF وJPEG وRTF وTXT وأكثر. تثبيت واحد يغطي كل احتياجات تحويل HTML لديك. غيّر -c XLS إلى -c PDF وستحصل على إخراج PDF بنفس مزايا الدفعات والأتمتة — مفيد حين تريد المالية XLS بينما يريد القسم القانوني نسخة PDF موقّعة من المصدر نفسه.
(30 يومًا، بدون بريد إلكتروني أو بطاقة ائتمان)
(ترخيص خادم، دائم)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"نسحب أسعار المنافسين من اثنتي عشرة موقعًا عامًا للكتالوجات كل ليلة. الصفحات هي جداول HTML، لكن نموذج التسعير لدينا يعيش في Excel. يُحوّل Total HTML Converter X الصفحات المسحوبة إلى ملفات XLS في مهمة .bat واحدة، مع خلايا رقمية بالتنسيق الصحيح بحيث يعمل VLOOKUP عليها فورًا. أصلحت علامة -CodePage أسماء المنتجات ذات العلامات التشكيلية التي كانت أداتنا السابقة تُشوِّهها."
Priya Ramanathan Senior Data Analyst, Retail Analytics
"تُصدّر منصة SaaS لدينا تقارير HTML للعملاء، لكن العملاء على مستوى المؤسسات يطلبون باستمرار XLS. ضمّنّا واجهة ActiveX في الواجهة الخلفية بـPHP بحيث يمكن تسليم نفس تقرير HTML كجدول بيانات يعمل عند الطلب. يُعيد استدعاء COM ملف XLS حقيقي مع أعمدة قابلة للفرز، وليس إغراق نص في العمود A. أزلنا أتمتة Excel من حزمة الخادم لدينا في الأسبوع نفسه."
Tobias Kleinmann Backend Developer, Reporting Platform
"رحّلنا إنترانت قديمًا كان يعرض بيانات الميزانية كجداول HTML على آلاف الصفحات. تَمَّ التحويل الجماعي إلى XLS عبر عطلة نهاية أسبوع على جهاز Windows Server 2019 واحد، دون الحاجة لترخيص Office، واستوردت المالية جداول البيانات الناتجة مباشرةً إلى نظامها الجديد. يمكن أن تكون الوثائق حول العلامات الأكثر غموضًا أكثر ثراءً، لكن الدعم ردّ خلال يوم عند سؤالنا عن الترميز."
Rosa Fernandez IT Manager, Municipal Government
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS. يُحوّل هذا كل ملف HTML في المجلد المصدر إلى XLS. أضف علامات مثل -CodePage 65001 أو -Sheet ReportData أو -log للتحكم في الإخراج.<table> و<tr> و<td> و<th> بصفوف وأعمدة في XLS. يُحافَظ على colspan وrowspan كخلايا مدموجة. تصبح السلاسل الرقمية قيمًا رقمية تعمل مع SUM وAVERAGE والجداول المحورية.-CodePage. -CodePage 65001 هي UTF-8، 1252 هي أوروبية غربية، 1251 هي سيريلية، 932 هي Shift-JIS. اضبطها لتطابق الترميز المُعلَن في مصدر HTML وستستقرّ محتويات الخلايا في XLS دون تشويه.HTMLConverter.HTMLConverterX). يمكنك استدعاؤه من .NET أو PHP أو Python أو VBScript أو ASP أو Ruby أو Perl أو أي بيئة أخرى متوافقة مع COM لتحويل HTML إلى XLS عند الطلب داخل تطبيق الويب الخاص بك.-Sheet YourSheetName في سطر الأوامر وسيستخدم المصنّف الناتج هذا الاسم لورقة العمل بدلًا من الافتراضي. مفيد عندما يُغذّي XLS نظامًا تابعًا يبحث عن اسم ورقة محدد.
string src = @"C:\test\Source.html";
string dest = @"C:\test\Dest.pdf";
var cnv = new HTMLConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\HTML.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\HTMLConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.html";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"\"{srcPath}\" \"{outPath}\" -cPDF";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
C.Convert "c:\source.html", "c:\dest.jpg", "-cJPG -log c:\html.log"
C.Convert "https://www.coolutils.com/", "c:\URL Page.pdf", "-cPDF -log c:\html.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.html", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.html";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("HTMLConverter.HTMLConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\HTML.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('HTMLConverter.HTMLConverterX')
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("HTMLConverter.HTMLConverterX")
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('HTMLConverter.HTMLConverterX');
c.Convert('c:\test\source.html', 'c:\test\dest.pdf', '-cPDF -log c:\test\HTML.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("HTMLConverter.HTMLConverterX");
c.Convert("C:\\test\\source.html", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.html"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'HTMLConverter.HTMLConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\HTML.log"); print $c->ErrorMessage if -e $dest;
قم بتنزيل النسخة التجريبية المجانية وحول ملفاتك في دقائق.
لا تحتاج إلى بطاقة ائتمان أو بريد إلكتروني.