Hai cartelle di cartelle di lavoro Excel che devono alimentare un servizio web SOAP, un partner EDI, una sottomissione regolatoria o un’integrazione ERP — e il sistema ricevente parla XML, non XLSX. Aprire ogni file in Excel e salvarlo come XML a mano smette di funzionare oltre la seconda cartella di lavoro, e l’esportazione XML integrata di Excel ignora i requisiti di schema che il sistema a valle controlla effettivamente. Total Excel Converter X converte file XLS e XLSX in XML ben formato dalla riga di comando, in batch, senza GUI e senza richiedere l’installazione di Microsoft Excel. Installalo su un server Windows, richiamalo da uno script o tramite ActiveX, e lascialo funzionare in modo automatico.
*.xlsx) e il convertitore elabora ogni cartella di lavoro corrispondente in un’unica esecuzione
(30 giorni, nessuna email)
(licenza server, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel è una griglia. Righe e colonne contengono valori e il significato di ogni colonna vive in una riga di intestazione che gli umani leggono. Il formato è ottimo per gli analisti, terribile per l’integrazione di sistemi. Servizi SOAP, gateway EDI, portali regolatori, interfacce bancarie e messaggi sanitari HL7 non analizzano XLSX. Si aspettano XML con nomi di elemento espliciti, annidamento definito e regole di escape prevedibili.
XML è gerarchico e auto-descrittivo. Ogni valore porta con sé un nome di elemento, il documento valida contro uno schema, e qualsiasi piattaforma — Linux, Java, .NET, mainframe IBM — può analizzarlo senza librerie proprietarie. Quando dei dati Excel devono entrare in quel mondo, devono prima diventare XML. Total Excel Converter X scrive XML valido dove ogni riga Excel si trasforma in un nodo record, la riga di intestazione fornisce i nomi di campo, e i caratteri speciali vengono escapati in modo che l’output passi attraverso qualsiasi parser XML in modo pulito.
| Excel (XLS/XLSX) | XML | |
|---|---|---|
| Forma | Griglia bidimensionale | Albero gerarchico |
| Nomi di campo | Impliciti (riga di intestazione) | Espliciti su ogni record |
| Validazione | Nessuna a livello di file | Schema (XSD, DTD) |
| Consumatori | Umani, strumenti consapevoli di Excel | SOAP, EDI, ERP, HL7, autorità di vigilanza |
| Cross-platform | Migliore su Windows + Office | Universale — ogni linguaggio e sistema operativo |
Scarica il programma di installazione dal link qui sopra ed eseguilo sul tuo server o workstation Windows. L’installazione richiede meno di un minuto. Non è necessaria alcuna installazione di Microsoft Excel — il convertitore legge XLS e XLSX direttamente con il proprio parser, comprese formule, stili e cartelle di lavoro multi-foglio.
Apri cmd.exe o PowerShell. L’eseguibile del convertitore è XLSConverter.exe, situato nella cartella di installazione (tipicamente C:\Program Files\CoolUtils\TotalExcelConverterX\). Aggiungilo al PATH di sistema o usa il percorso completo nei tuoi comandi.
Il comando più semplice converte tutti i file Excel in una cartella in XML:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML
Questo elabora ogni file .xlsx in C:\Sheets\ e salva i file XML risultanti in C:\Output\. Ogni cartella di lavoro produce un file XML con lo stesso nome base. Ogni riga nell’origine diventa un elemento <Row>, e ogni cella diventa un elemento figlio nominato in base all’intestazione di colonna corrispondente.
Controlla l’output XML con flag aggiuntivi:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML -Encoding UTF-8 -FirstRowAsHeader true -log C:\Logs\xls2xml.log
-Encoding UTF-8 — imposta la codifica XML (UTF-8, UTF-16, Windows-1252, ISO-8859-1)-FirstRowAsHeader true — usa la riga 1 come nomi di elemento invece dei generici Column1, Column2-Sheet "Invoices" — converte solo il foglio nominato invece di ogni foglio-log C:\Logs\xls2xml.log — scrive un log di conversione per la verificaSalva il comando in un file .bat e programmalo con l’Utilità di pianificazione di Windows:
@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
Questo esegue la conversione ogni notte (o all’intervallo che preferisci) e scrive un file di log per verificare i risultati. Lascia nuove cartelle di lavoro in C:\Incoming\ durante il giorno, e la pipeline di integrazione le ritirerà automaticamente.
Total Excel Converter X include un’interfaccia ActiveX completa. Puoi richiamare il convertitore da qualsiasi ambiente compatibile COM — .NET, VBScript, PHP, Python, Ruby o ASP. Questo ti permette di integrare la conversione da Excel a XML nella tua applicazione web, broker di integrazione o flusso di lavoro documentale senza ricorrere a un processo da riga di comando.
Esempio (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");
Esempio (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");
La stessa chiamata funziona da ASP.NET, VBScript, Python, Ruby, Perl e JavaScript (Windows Script Host). Il tuo livello di integrazione può accettare file Excel caricati, convertirli in XML in memoria e inoltrare il payload XML direttamente a un endpoint SOAP o a una coda ERP.
| Funzionalità | Convertitori online | Total Excel Converter X |
|---|---|---|
| Elaborazione batch | Un file alla volta | File illimitati per batch |
| Privacy dei dati | Cartelle di lavoro caricate su server di terze parti | I file non lasciano mai la tua macchina |
| Controllo della codifica | Solo UTF-8, spesso rotto | UTF-8, UTF-16, Windows-1252, ISO-8859-1 |
| Escape di caratteri speciali | Incoerente, spesso XML non valido | Escape completo per &, <, >, ", caratteri di controllo |
| Cartelle di lavoro multi-foglio | Solo primo foglio | Tutti i fogli o foglio nominato |
| Automazione | Solo manuale | Riga di comando, .bat, Utilità di pianificazione, ActiveX |
| Distribuzione su server | Non possibile | Progettato per server, nessuna GUI necessaria |
| Richiede Excel installato | N/D | No |
| Richiede internet | Sì | No |
Il convertitore legge XLS e XLSX direttamente con il proprio parser. Non hai bisogno di Microsoft Office, LibreOffice o di qualsiasi applicazione di fogli di calcolo installata sul server. Questo elimina i costi di licenza e la nota instabilità dell’automazione di Excel in scenari non presidiati.
Total Excel Converter X è progettato per l’uso non presidiato. Nessuna finestra GUI, nessuna finestra di dialogo, nessun messaggio di conferma. Funziona silenziosamente dalla riga di comando o come parte di un servizio — esattamente ciò di cui ha bisogno un server di integrazione di produzione.
L’output è XML ben formato. Le e commerciali diventano &, le parentesi angolari diventano < e >, le virgolette dentro gli attributi vengono escapate, e i caratteri di controllo vaganti vengono rimossi. L’XML passa attraverso qualsiasi parser conforme agli standard senza soffocare su un nome di cliente che casualmente conteneva una e commerciale.
Lo stesso strumento da riga di comando converte Excel in PDF, DOC, HTML, CSV, JSON, ODS, TXT e altro. Un’unica installazione copre tutte le tue esigenze di conversione di fogli di calcolo. Cambia -c XML in -c JSON e otterrai output JSON con le stesse funzionalità batch e di automazione.
(30 giorni, nessuna email o carta di credito)
(licenza server, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Il nostro partner di spedizione accetta ordini di acquisto solo come XML su SOAP, ma il team operations li costruisce in Excel. Total Excel Converter X gira come .bat pianificato sul server di integrazione e trasforma la cartella di lavoro degli ordini giornalieri in XML in meno di tre secondi. L’escape gestisce i caratteri speciali nei nomi dei clienti che rompevano il nostro precedente parser interno. Sostituto drop-in di uno script VBA fatto in casa che nessuno voleva mantenere."
Andreas Vogt Integration Engineer, Logistik AG
"Scambiamo documenti EDI con circa quaranta partner retail, e un terzo di loro vuole envelope XML invece di X12 o EDIFACT. Il convertitore si trova tra il nostro tavolo ordini basato su fogli e il gateway EDI. La mappatura della riga di intestazione significa che lo schema XML di ogni partner si allinea con i nomi delle colonne che già usiamo. La codifica viene impostata per partner tramite la riga di comando. Nessuna sorpresa in produzione."
Priya Subramanian EDI Specialist, Wholesale Distribution
"Inviamo dichiarazioni regolatorie alla banca centrale in XML su cadenza settimanale. I dati di origine vengono riconciliati in Excel dal team finance e poi devono diventare un payload XML rigorosamente codificato. L’output UTF-8 del convertitore e l’escape pulito delle e commerciali superano il validatore del regolatore al primo tentativo. Post-elaboriamo ancora l’output tramite XSLT per adattarsi allo schema di destinazione esatto, ma il passo di conversione in sé è affidabile e veloce."
Marc Lefevre Regulatory Reporting Lead, Banque Mutuelle
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML. Questo converte ogni cartella di lavoro Excel nella cartella di origine in XML. Aggiungi flag come -Encoding UTF-8, -FirstRowAsHeader true o -log per controllare la struttura e la codifica dell’output.-FirstRowAsHeader true e il convertitore usa ogni intestazione di colonna come nome di elemento per quel campo, così una colonna CustomerName produce elementi <CustomerName>. Senza quel flag il convertitore ricade su tag generici Column1, Column2. I nodi riga sono <Row> per impostazione predefinita; questo ti dà una struttura prevedibile e regolare che si mappa pulitamente sulla maggior parte degli schemi consumatori.-Encoding. UTF-8 è il valore predefinito sicuro per SOAP, EDI e la maggior parte delle integrazioni moderne. Usa UTF-16 quando un sistema a valle lo richiede specificamente, o una code page Windows quando alimenti un partner legacy che si aspetta XML a singolo byte.&, le parentesi angolari diventano < e >, le virgolette doppie dentro i valori degli attributi diventano ", e i caratteri di controllo vaganti che romperebbero un parser XML 1.0 vengono rimossi. L’output valida contro qualsiasi parser conforme agli standard senza pulizia manuale.-Sheet "Invoices" per convertire solo un foglio nominato, oppure -Sheet 1 per selezionare per indice basato su zero. I fogli nascosti e i fogli grafico vengono saltati.XLSConverter.XLSConverterX). Puoi richiamarlo da .NET, PHP, Python, VBScript, ASP, Ruby, Perl e qualsiasi altro ambiente compatibile COM per convertire upload Excel in XML in tempo reale e inoltrare il risultato a un endpoint SOAP o a una coda di messaggi.
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;
Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.