Hai cartelle di file XLS e XLSX che devono alimentare un database, una pipeline di analytics o una dashboard di reportistica — e il sistema di destinazione parla CSV, non Excel. Aprire ogni cartella di lavoro in Excel e cliccare Salva con nome → CSV non scala oltre due o tre file, e crolla del tutto su un server senza installazione di Excel. Total Excel Converter X converte file Excel in CSV dalla riga di comando, in batch, senza GUI e senza Microsoft Office sulla macchina. Installalo su un server Windows, richiamalo da uno script o tramite ActiveX, e lascialo funzionare in modo automatico.
*.xlsx) e il convertitore elabora ogni file corrispondente in un’unica esecuzione-CSVDelimiter, abbinandosi a qualsiasi importatore tu abbia-EachSheetSeparate
(30 giorni, nessuna email)
(licenza server, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
I file Excel (XLS, XLSX) sono formati container. Una cartella di lavoro contiene più fogli, formule, formattazione, grafici, tabelle pivot, regole condizionali e oggetti incorporati. XLS è un formato binario proprietario degli anni ‘90; XLSX è un archivio ZIP di parti XML. Entrambi richiedono un parser che comprenda lo schema Office. La maggior parte dei database e degli strumenti di analytics non può leggerli direttamente.
CSV è testo semplice — una riga per record, campi separati da un delimitatore. Ogni motore di database, ogni linguaggio di scripting, ogni strumento BI e ogni piattaforma ETL legge CSV senza traduzione. PostgreSQL COPY, MySQL LOAD DATA INFILE, BigQuery bq load, pandas read_csv, R read.csv — si aspettano tutti CSV. Quando dei dati Excel devono entrare in quella pipeline, devono prima diventare CSV.
| Excel (XLS / XLSX) | CSV | |
|---|---|---|
| Formato | Binario proprietario o ZIP-XML | Testo semplice |
| Fogli per file | Multipli | Una sola tabella |
| Formule | Memorizzate e ricalcolate | Solo valori valutati |
| Formattazione | Font, colori, bordi, grafici | Nessuna |
| Importazione database | Richiede ODBC o libreria | Nativa in ogni motore |
| Pubblico | Utenti Office | Database, script, strumenti ETL |
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 o Office — il convertitore analizza XLS e XLSX direttamente usando il proprio motore.
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 CSV:
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV
Questo elabora ogni file .xlsx in C:\Reports\ e salva i file CSV risultanti in C:\Output\. Ogni file Excel produce un CSV con lo stesso nome base. Usa *.xls per convertire file binari legacy, oppure *.xls* per catturare entrambe le estensioni in un solo passaggio.
I valori predefiniti del CSV spesso devono essere ritoccati per adattarsi al sistema di destinazione. Gli importatori reali sono esigenti su separatori e code page:
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV -CSVDelimiter ";" -CSVQuotation "\"" -Encoding UTF-8 -log C:\Logs\xls2csv.log
-CSVDelimiter "," — virgola (predefinito). Usa ";" per le impostazioni locali europee, "\t" per separato da tabulazione, o "|" per pipe-CSVQuotation "\"" — racchiudi in virgolette doppie i campi che contengono il delimitatore, virgolette o interruzioni di riga-Encoding UTF-8 — forza l’output UTF-8. Usa UTF-16, Windows-1251, Windows-1252 o ISO-8859-1 come richiesto dal sistema di destinazione-EachSheetSeparate — suddividi una cartella di lavoro multi-foglio in un CSV per foglio, denominato {file}_{sheet}.csv-log C:\Logs\xls2csv.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\CSV\ -c CSV -CSVDelimiter ";" -Encoding UTF-8 -EachSheetSeparate -log C:\Logs\xls2csv.log
Questo esegue la conversione ogni notte (o all’intervallo che preferisci) e scrive un file di log per verificare i risultati. Lascia nuovi file XLSX in C:\Incoming\ e la successiva esecuzione pianificata li ritirerà.
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 CSV nel tuo job ETL, form di upload web o servizio di reportistica senza ricorrere a un processo da riga di comando.
Esempio (C#/.NET):
XLSConverterX Cnv = new XLSConverterX();
Cnv.Convert("C:\\Reports\\sales.xlsx", "C:\\Output\\sales.csv", "-c CSV -CSVDelimiter \";\" -Encoding UTF-8 -log c:\\Logs\\xls.log");
Esempio (PHP):
$c = new COM("XLSConverter.XLSConverterX");
$c->convert("C:\\Reports\\sales.xlsx", "C:\\Output\\sales.csv", "-c CSV -CSVDelimiter \";\" -Encoding UTF-8 -log c:\\Logs\\xls.log");
La stessa chiamata funziona da ASP.NET, VBScript, Python, Ruby, Perl e JavaScript (Windows Script Host). La tua applicazione può accettare file XLSX caricati e restituire CSV pronto per l’ingestione diretta in un database o strumento di analytics.
| Funzionalità | Convertitori online | Total Excel Converter X |
|---|---|---|
| Elaborazione batch | Un file alla volta | File illimitati per batch |
| Privacy dei file | File caricati su server di terze parti | I file non lasciano mai la tua macchina |
| Limite di dimensione del file | Tipicamente 5–25 MB | Nessuno — cartelle di lavoro da gigabyte supportate |
| Controllo delimitatore / codifica | Raro o nascosto | Controllo completo tramite flag |
| Gestione multi-foglio | Solo primo foglio, di solito | -EachSheetSeparate o uniti |
| 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 |
COPY sales FROM '/data/sales.csv' CSV HEADER in Postgres o LOAD DATA INFILE in MySQL. L’intera pipeline gira in secondi per file che richiederebbero minuti tramite un importatore GUI.bq load o COPY INTO. Un job .bat notturno converte i report Excel del giorno in CSV e li carica in un bucket di staging affinché il warehouse li ritiri.read_csv e R read.csv. Quando i dati di origine arrivano come XLSX dalla finanza o dalle operations, un convertitore lato server produce CSV pulito senza che nessuno tocchi Excel.-CSVDelimiter ed -Encoding impostati per corrispondere alle specifiche dell’agenzia.Il convertitore analizza file XLS e XLSX direttamente. 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 produzione.
Gli importatori CSV reali si curano dei dettagli. Un delimitatore punto e virgola per i sistemi europei, UTF-8 per il testo internazionale, racchiusura tra virgolette doppie per campi con virgole incorporate. Una cartella di lavoro Excel con dodici fogli mensili è un singolo file, ma il CSV contiene una sola tabella per file — -EachSheetSeparate suddivide la cartella di lavoro in dodici file CSV nominati, ciascuno pronto per l’ingestione separata. Ogni dettaglio è esposto come flag da riga di comando, in modo che l’output corrisponda a qualsiasi cosa la tua pipeline a valle si aspetti al primo tentativo.
Lo stesso strumento da riga di comando converte Excel in PDF, DOC, HTML, XML, JSON, ODS, TIFF, JPEG e altro. Un’unica installazione copre ogni destinazione di conversione Excel. Cambia -c CSV in -c PDF e otterrai report PDF 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
"La nostra pipeline ingerisce oltre 200 file XLSX al giorno dai responsabili di store regionali e li carica in Postgres tramite COPY. Abbiamo sostituito un fragile script Python più openpyxl con XLSConverter.exe in un job .bat. Il delimitatore punto e virgola e i flag UTF-8 hanno risolto i nostri problemi con i caratteri tedeschi e polacchi alla prima esecuzione. Il throughput è passato da quaranta minuti a meno di cinque per lo stesso batch notturno."
Priya Raghavan Data Engineer, Retail Analytics
"Alimentiamo cartelle di lavoro Excel mensili in BigQuery per la dashboard executive. Il flag -EachSheetSeparate era il pezzo mancante — un CSV per foglio si mappa pulitamente a una tabella di staging per linea di business. Niente più esportazioni manuali foglio per foglio da Excel. L’interfaccia COM permette allo stesso strumento di servire il nostro portale di upload interno."
Daniel Kowalski BI Analyst, Insurance Group
"Ho integrato XLSConverter tramite la classe ActiveX in un servizio .NET che elabora report di broker. La valutazione delle formule funziona correttamente anche sulle cartelle di lavoro più grandi con riferimenti tra fogli. Il flag di codifica gestisce in modo pulito il nostro input italiano e francese. La documentazione su alcuni dei flag più rari potrebbe essere più dettagliata, ma il supporto ha risposto alle mie domande entro un giorno lavorativo."
Sofia Marchetti ETL Developer, FinTech Platform
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV. Questo converte ogni file XLSX nella cartella di origine in CSV. Aggiungi flag come -CSVDelimiter ";", -Encoding UTF-8 o -EachSheetSeparate per controllare l’output.-CSVDelimiter. Passa "," per virgola (predefinito), ";" per punto e virgola (comune nelle impostazioni locali europee), "\t" per tabulazione o "|" per pipe. Racchiudi il valore in virgolette doppie sulla riga di comando.-Encoding UTF-8 al comando. Altre code page supportate includono UTF-16, Windows-1251, Windows-1252, ISO-8859-1 e molte altre. Imposta la codifica per corrispondere a ciò che il tuo database o importatore si aspetta in modo che i caratteri non ASCII sopravvivano intatti.-EachSheetSeparate e il convertitore produce un CSV per foglio, denominato {file}_{sheet}.csv. Usa quella modalità ogni volta che carichi ogni foglio in una tabella di database diversa.
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.