لديك مجلدات من مصنّفات Excel تحتاج إلى تغذية خدمة ويب SOAP أو شريك EDI أو تقديم تنظيمي أو تكامل ERP — ويتحدّث النظام المستقبِل بـXML، وليس XLSX. فتح كل ملف في Excel وحفظه كـXML يدويًا يتوقّف عن العمل بعد المصنّف الثاني، ويتجاهل تصدير XML المدمج في Excel متطلّبات المخطّط التي يتحقّق منها النظام التابع فعلًا. Total Excel Converter X يُحوّل ملفات XLS وXLSX إلى XML مُكوَّن جيدًا من سطر الأوامر، دفعةً، بدون واجهة رسومية وبدون الحاجة إلى تثبيت Microsoft Excel. ثبّته على خادم Windows، استدعِه من سكربت أو عبر ActiveX، ودعه يعمل دون إشراف.
*.xlsx) وسيعالج المحوّل كل مصنّف مطابق في تشغيلة واحدة
(30 يومًا، بدون بريد إلكتروني)
(ترخيص خادم، دائم)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel هو شبكة. تحمل الصفوف والأعمدة قيمًا، ومعنى كل عمود يعيش في صف رأس يقرأه البشر. التنسيق رائع للمحلّلين، فظيع لتكامل الأنظمة. لا تحلِّل خدمات SOAP وبوابات EDI والبوابات التنظيمية وواجهات البنوك ورسائل HL7 الصحية XLSX. تتوقّع XML بأسماء عناصر صريحة وتداخل مُعرَّف وقواعد إفلات قابلة للتنبؤ.
XML هرمي ووصفي ذاتيًا. كل قيمة تحمل اسم عنصر، تتحقّق الوثيقة مع مخطّط، ويستطيع أي منصّة — Linux أو Java أو .NET أو حواسيب IBM المركزية — تحليلها دون مكتبات مملوكة. حين يجب أن تدخل بيانات Excel ذلك العالم، يجب أن تصبح XML أولًا. يكتب Total Excel Converter X XML صالحًا حيث يتحوّل كل صف Excel إلى عقدة سجل، يُوفّر صف الرأس أسماء الحقول، وتُفلَت الأحرف الخاصة بحيث يمرّ الإخراج عبر أي محلِّل XML بنظافة.
| Excel (XLS/XLSX) | XML | |
|---|---|---|
| الشكل | شبكة ثنائية الأبعاد | شجرة هرمية |
| أسماء الحقول | ضمنية (صف الرأس) | صريحة في كل سجل |
| التحقق | لا يوجد على مستوى الملف | المخطّط (XSD، DTD) |
| المستهلكون | البشر، الأدوات الواعية بـExcel | SOAP، EDI، ERP، HL7، الجهات التنظيمية |
| متعدّد المنصات | أفضل على Windows + Office | عالمي — كل لغة وكل نظام تشغيل |
نزّل المُثبِّت من الرابط أعلاه وشغّله على خادم أو محطة عمل Windows. يستغرق التثبيت أقل من دقيقة. لا حاجة لتثبيت Microsoft Excel — يقرأ المحوّل XLS وXLSX مباشرةً بمحلّله الخاص، بما في ذلك الصيغ والأنماط والمصنّفات متعدّدة الأوراق.
افتح cmd.exe أو PowerShell. الملف التنفيذي للمحوّل هو XLSConverter.exe، ويقع في مجلد التثبيت (عادةً C:\Program Files\CoolUtils\TotalExcelConverterX\). أضفه إلى متغيّر PATH في النظام أو استخدم المسار الكامل في أوامرك.
أبسط أمر يُحوّل جميع ملفات Excel في مجلد إلى XML:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML
يُعالج هذا كل ملف .xlsx في C:\Sheets\ ويحفظ ملفات XML الناتجة في C:\Output\. كل مصنّف يُنتج ملف XML واحدًا بنفس الاسم الأساسي. يصبح كل صف في المصدر عنصر <Row>، وتصبح كل خلية عنصرًا فرعيًا مُسمّى باسم رأس العمود المقابل.
تحكّم في إخراج XML بعلامات إضافية:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML -Encoding UTF-8 -FirstRowAsHeader true -log C:\Logs\xls2xml.log
-Encoding UTF-8 — تعيين ترميز XML (UTF-8، UTF-16، Windows-1252، ISO-8859-1)-FirstRowAsHeader true — استخدام الصف 1 كأسماء عناصر بدلًا من Column1 وColumn2 العامّة-Sheet "Invoices" — تحويل ورقة العمل المُسمّاة فقط بدلًا من كل ورقة-log C:\Logs\xls2xml.log — كتابة سجل تحويل للتحققاحفظ أمرك في ملف .bat وجدوِله باستخدام Windows Task Scheduler:
@echo off "C:\Program Files\CoolUtils\TotalExcelConverterX\XLSConverter.exe" C:\Incoming\*.xlsx C:\Archive\XML\ -c XML -Encoding UTF-8 -FirstRowAsHeader true -log C:\Logs\xls2xml.log
يُشغّل هذا التحويل كل ليلة (أو بأي فاصل زمني تحدّده) ويكتب ملف سجل لكي تتمكّن من التحقق من النتائج. أسقِط مصنّفات جديدة في C:\Incoming\ خلال اليوم، ويلتقطها خط أنابيب التكامل تلقائيًا.
يتضمّن Total Excel Converter X واجهة ActiveX كاملة. يمكنك استدعاء المحوّل من أي بيئة متوافقة مع COM — .NET أو VBScript أو PHP أو Python أو Ruby أو ASP. يتيح لك ذلك دمج تحويل Excel إلى XML في تطبيق الويب الخاص بك أو وسيط التكامل أو سير عمل المستندات دون اللجوء إلى عملية سطر أوامر خارجية.
مثال (C#/.NET):
XLSConverterX Cnv = new XLSConverterX();
Cnv.Convert("C:\\Sheets\\invoices.xlsx", "C:\\Output\\invoices.xml", "-c XML -Encoding UTF-8 -FirstRowAsHeader true -log c:\\Logs\\xls.log");
مثال (PHP):
$c = new COM("XLSConverter.XLSConverterX");
$c->convert("C:\\Sheets\\invoices.xlsx", "C:\\Output\\invoices.xml", "-c XML -Encoding UTF-8 -FirstRowAsHeader true -log c:\\Logs\\xls.log");
يعمل نفس الاستدعاء من ASP.NET وVBScript وPython وRuby وPerl وJavaScript (Windows Script Host). يمكن لطبقة التكامل لديك قبول ملفات Excel المرفوعة، وتحويلها إلى XML في الذاكرة، وتمرير حمولة XML مباشرةً إلى نقطة نهاية SOAP أو طابور ERP.
| الميزة | المحوّلات عبر الإنترنت | Total Excel Converter X |
|---|---|---|
| المعالجة الدفعية | ملف واحد في كل مرة | عدد غير محدود من الملفات لكل دفعة |
| خصوصية البيانات | تُرفع المصنّفات إلى خادم طرف ثالث | الملفات لا تغادر جهازك |
| التحكم بالترميز | UTF-8 فقط، غالبًا مكسور | UTF-8، UTF-16، Windows-1252، ISO-8859-1 |
| إفلات الأحرف الخاصة | غير متّسق، XML غير صالح غالبًا | إفلات كامل لـ& وأقواس الزاوية و" وأحرف التحكم |
| المصنّفات متعدّدة الأوراق | الورقة الأولى فقط | كل الأوراق أو ورقة مُسمّاة |
| الأتمتة | يدوي فقط | سطر الأوامر، .bat، Task Scheduler، ActiveX |
| النشر على الخادم | غير ممكن | مصمّم للخوادم، لا حاجة لواجهة رسومية |
| يتطلب تثبيت Excel | غير قابل للتطبيق | لا |
| يتطلب إنترنت | نعم | لا |
يقرأ المحوّل XLS وXLSX مباشرةً بمحلّله الخاص. لست بحاجة إلى تثبيت Microsoft Office أو LibreOffice أو أي تطبيق جداول بيانات على الخادم. يتجنّب ذلك تكاليف الترخيص وعدم الاستقرار المعروف لأتمتة Excel في سيناريوهات غير مُشرف عليها.
صُمِّم Total Excel Converter X للاستخدام دون إشراف. لا نوافذ واجهة رسومية، لا مربعات حوار، لا مطالبات تأكيد. يعمل بصمت من سطر الأوامر أو كجزء من خدمة — تمامًا ما يحتاجه خادم تكامل الإنتاج.
الإخراج هو XML مُكوَّن جيدًا. تصبح علامات العطف &، تصبح أقواس الزاوية < و>، تُفلت علامات الاقتباس داخل السمات، وتُجرّد أحرف التحكم الشاردة. يمرّ XML عبر أي محلِّل متوافق مع المعايير دون اختناق على اسم عميل تَصادف أن يحتوي على علامة عطف.
تُحوّل أداة سطر الأوامر نفسها Excel إلى PDF وDOC وHTML وCSV وJSON وODS وTXT وأكثر. تثبيت واحد يغطي كل احتياجات تحويل جداول البيانات لديك. غيّر -c XML إلى -c JSON وستحصل على إخراج JSON بنفس مزايا الدفعات والأتمتة.
(30 يومًا، بدون بريد إلكتروني أو بطاقة ائتمان)
(ترخيص خادم، دائم)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"يقبل شريك الشحن لدينا أوامر الشراء كـXML عبر SOAP فقط، لكن فريق العمليات يبنيها في Excel. يعمل Total Excel Converter X كـ.bat مجدول على خادم التكامل ويحوّل مصنّف الطلبات اليومي إلى XML في أقل من ثلاث ثوانٍ. يتعامل الإفلات مع الأحرف الخاصة في أسماء العملاء التي كسرت محلّلنا الداخلي السابق. بديل جاهز لسكربت VBA محلي الصنع لم يرغب أحد في صيانته."
Andreas Vogt Integration Engineer, Logistik AG
"نتداول وثائق EDI مع نحو أربعين شريك تجزئة، وثلثهم يريد مغلّفات XML بدلًا من X12 أو EDIFACT. يجلس المحوّل بين مكتب الطلبات لدينا القائم على جداول البيانات وبوابة EDI. ربط صف الرأس يعني أن مخطّط XML الخاص بكل شريك يتماشى مع أسماء الأعمدة التي نستخدمها بالفعل. يُضبط الترميز لكل شريك عبر سطر الأوامر. لا مفاجآت في الإنتاج."
Priya Subramanian EDI Specialist, Wholesale Distribution
"نُقدّم عوائد تنظيمية إلى البنك المركزي بصيغة XML بإيقاع أسبوعي. يُسوَّى مصدر البيانات في Excel من قبل فريق المالية ثم يجب أن يصبح حمولة XML مُرمَّزة بصرامة. يمر إخراج UTF-8 وإفلات علامة العطف النظيف للمحوّل عبر مدقّق المنظّم من المحاولة الأولى. لا نزال نُعالج الإخراج لاحقًا عبر XSLT ليناسب المخطّط المستهدف بالضبط، لكن خطوة التحويل نفسها موثوقة وسريعة."
Marc Lefevre Regulatory Reporting Lead, Banque Mutuelle
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML. يُحوّل هذا كل مصنّف Excel في المجلد المصدر إلى XML. أضف علامات مثل -Encoding UTF-8 أو -FirstRowAsHeader true أو -log للتحكم في بنية الإخراج والترميز.-FirstRowAsHeader true ويستخدم المحوّل كل رأس عمود كاسم عنصر لذلك الحقل، بحيث يُنتج عمود CustomerName عناصر <CustomerName>. بدون هذه العلامة يعود المحوّل إلى وسوم Column1 وColumn2 العامّة. تُعيِّن عقد الصفوف افتراضيًا إلى <Row>؛ يمنحك هذا بنية منتظمة قابلة للتنبؤ تُربط بنظافة بمعظم المخطّطات المستهلكة.-Encoding. UTF-8 هو الافتراضي الآمن لـSOAP وEDI ومعظم التكاملات الحديثة. استخدم UTF-16 عندما يتطلّبه نظام تابع تحديدًا، أو صفحة رموز Windows عند تغذية شريك قديم يتوقّع XML بـبايت واحد.&، تصبح أقواس الزاوية < و>، تصبح علامات الاقتباس المزدوجة داخل قيم السمات "، وتُجرّد أحرف التحكم الشاردة التي ستكسر محلِّل XML 1.0. يتحقّق الإخراج مع أي محلِّل متوافق مع المعايير دون تنظيف يدوي.-Sheet "Invoices" لتحويل ورقة عمل مُسمّاة واحدة فقط، أو -Sheet 1 للاختيار بفهرس صفري. تُتجاوز الأوراق المخفية وأوراق الرسوم البيانية.XLSConverter.XLSConverterX). يمكنك استدعاؤه من .NET أو PHP أو Python أو VBScript أو ASP أو Ruby أو Perl أو أي بيئة أخرى متوافقة مع COM لتحويل ملفات Excel المرفوعة إلى XML في الوقت الفعلي وتمرير النتيجة إلى نقطة نهاية SOAP أو طابور رسائل.
string src="C:\\test\\Source.xlsx";
string dest="C:\\test\\Dest.PDF";
ExcelConverterX Cnv = new ExcelConverterX();
Cnv.Convert(src, dest, "-c PDF -log c:\\test\\Excel.log");
MessageBox.Show("Convert complete!");
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\ExcelConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG-1.xlsx";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(msgPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & MSG files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $@"{msgPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($@"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($@"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
C.Convert "c:\test\source.xlsx", "c:\test\dest.pdf", "-cPDF -log c:\test\Excel.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Rresponse.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite c.ConvertToStream("C:\www\ASP\Source.xlsx", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.XLS";
$dest="C:\\test\\test.CSV";
if (file_exists($dest)) unlink($dest);
$c= new COM("ExcelConverter.ExcelConverterX");
$c->convert($src,$dest, "-c csv -log c:\\test\\xls.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('ExcelConverter.ExcelConverterX')
src="C:\\test\\test.xlsx";
dest="C:\\test\\test.pdf";
c.convert(src,dest, "-c PDF -log c:\\test\\Excel.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("ExcelConverter.ExcelConverterX")
src="C:\\test\\test.xlsx";
dest="C:\\test\\test.pdf";
c.convert(src, dest, "-c PDF -log c:\\test\\Excel.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c:=CreateOleObject('ExcelConverter.ExcelConverterX');
C.Convert('c:\test\source.xlsx', 'c:\test\dest.pdf', '-cPDF -log c:\test\Excel.log');
IF c.ErrorMessage<> Then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("ExcelConverter.ExcelConverterX");
c.Convert("C:\\test\\source.xlsx", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage!="")
alert(c.ErrorMessage)
use Win32::OLE; my $src="C:\\test\\test.XLS"; my $dest="C:\\test\\test.CSV"; my $c = CreateObject Win32::OLE 'ExcelConverter.ExcelConverterX'; $c->convert($src,$dest, "-c csv -log c:\\test\\xls.log"); print $c->ErrorMessage if -e $dest;
قم بتنزيل النسخة التجريبية المجانية وحول ملفاتك في دقائق.
لا تحتاج إلى بطاقة ائتمان أو بريد إلكتروني.