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
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";
var cnv = new ExcelConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\Excel.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\ExcelConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.xlsx";
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}";
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"
Response.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.xlsx";
$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(dest):
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.xlsx"; 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.