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
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.