Tiene carpetas de archivos XLS y XLSX que necesitan alimentar una base de datos, una tubería analítica o un panel de informes — y el sistema de destino habla CSV, no Excel. Abrir cada libro en Excel y hacer clic en Guardar como → CSV no escala más allá de dos o tres archivos, y se desmorona por completo en un servidor sin instalación de Excel. Total Excel Converter X convierte archivos Excel a CSV desde la línea de comandos, en lote, sin interfaz gráfica y sin Microsoft Office en la máquina. Instálelo en un servidor Windows, llámelo desde un script o mediante ActiveX, y déjelo funcionar de forma desatendida.
*.xlsx) y el conversor procesa todos los archivos coincidentes en una sola ejecución-CSVDelimiter, coincidiendo con lo que su importador espere-EachSheetSeparate
(30 días, sin correo electrónico)
(licencia de servidor, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Los archivos Excel (XLS, XLSX) son formatos contenedores. Un libro contiene varias hojas, fórmulas, formato, gráficos, tablas dinámicas, reglas condicionales y objetos incrustados. XLS es un formato binario propietario de los años 90; XLSX es un archivo ZIP de partes XML. Ambos requieren un analizador que entienda el esquema de Office. La mayoría de las bases de datos y herramientas analíticas no pueden leer ninguno directamente.
CSV es texto plano — una fila por línea, campos separados por un delimitador. Cada motor de base de datos, cada lenguaje de scripting, cada herramienta BI y cada plataforma ETL lee CSV sin traducción. PostgreSQL COPY, MySQL LOAD DATA INFILE, BigQuery bq load, pandas read_csv, R read.csv — todos esperan CSV. Cuando los datos Excel necesitan entrar en esa tubería, primero deben convertirse a CSV.
| Excel (XLS / XLSX) | CSV | |
|---|---|---|
| Formato | Binario propietario o ZIP-XML | Texto plano |
| Hojas por archivo | Múltiples | Una tabla |
| Fórmulas | Almacenadas y recalculadas | Solo valores evaluados |
| Formato | Fuentes, colores, bordes, gráficos | Ninguno |
| Importación a base de datos | Requiere ODBC o biblioteca | Nativo en cada motor |
| Público | Usuarios de Office | Bases de datos, scripts, herramientas ETL |
Descargue el instalador desde el enlace anterior y ejecútelo en su servidor o estación de trabajo Windows. La instalación tarda menos de un minuto. No se requiere instalación de Microsoft Excel ni Office — el conversor analiza XLS y XLSX directamente usando su propio motor.
Abra cmd.exe o PowerShell. El ejecutable del conversor es XLSConverter.exe, ubicado en la carpeta de instalación (normalmente C:\Program Files\CoolUtils\TotalExcelConverterX\). Agréguelo a la variable PATH del sistema o use la ruta completa en sus comandos.
El comando más sencillo convierte todos los archivos Excel de una carpeta a CSV:
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV
Esto procesa cada archivo .xlsx en C:\Reports\ y guarda los archivos CSV resultantes en C:\Output\. Cada archivo Excel produce un CSV con el mismo nombre base. Use *.xls para convertir archivos binarios heredados, o *.xls* para capturar ambas extensiones en una sola pasada.
Los valores predeterminados de CSV a menudo necesitan ajustes para coincidir con el sistema de destino. Los importadores reales son exigentes con los separadores y las páginas de códigos:
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV -CSVDelimiter ";" -CSVQuotation "\"" -Encoding UTF-8 -log C:\Logs\xls2csv.log
-CSVDelimiter "," — coma (predeterminado). Use ";" para localizaciones europeas, "\t" para separado por tabuladores o "|" para barra vertical-CSVQuotation "\"" — envuelve los campos que contienen el delimitador, comillas o saltos de línea entre comillas dobles-Encoding UTF-8 — fuerza salida UTF-8. Use UTF-16, Windows-1251, Windows-1252 o ISO-8859-1 según requiera el sistema de destino-EachSheetSeparate — divide un libro con varias hojas en un CSV por hoja, nombrado {file}_{sheet}.csv-log C:\Logs\xls2csv.log — escribe un registro de conversión para verificaciónGuarde su comando en un archivo .bat y prográmelo con el Programador de tareas de 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
Esto ejecuta la conversión cada noche (o en el intervalo que establezca) y escribe un archivo de registro para que pueda verificar los resultados. Suelte nuevos archivos XLSX en C:\Incoming\ y la próxima ejecución programada los recogerá.
Total Excel Converter X incluye una interfaz ActiveX completa. Puede llamar al conversor desde cualquier entorno compatible con COM — .NET, VBScript, PHP, Python, Ruby o ASP. Esto le permite integrar la conversión de Excel a CSV en su propio trabajo ETL, formulario de carga web o servicio de informes sin recurrir a un proceso de línea de comandos externo.
Ejemplo (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");
Ejemplo (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 misma llamada funciona desde ASP.NET, VBScript, Python, Ruby, Perl y JavaScript (Windows Script Host). Su aplicación puede aceptar archivos XLSX cargados y devolver CSV listo para ingesta directa en una base de datos o herramienta analítica.
| Característica | Conversores en línea | Total Excel Converter X |
|---|---|---|
| Procesamiento en lote | Un archivo a la vez | Archivos ilimitados por lote |
| Privacidad de archivos | Archivos subidos a servidor de terceros | Los archivos nunca salen de su equipo |
| Límite de tamaño de archivo | Normalmente 5–25 MB | Ninguno — libros de gigabytes admitidos |
| Control de delimitador / codificación | Raro u oculto | Control completo mediante indicadores |
| Manejo de varias hojas | Solo primera hoja, normalmente | -EachSheetSeparate o combinadas |
| Automatización | Solo manual | Línea de comandos, .bat, Programador de tareas, ActiveX |
| Despliegue en servidor | No es posible | Diseñado para servidores, sin interfaz gráfica |
| Requiere Excel instalado | N/A | No |
| Requiere internet | Sí | No |
COPY sales FROM '/data/sales.csv' CSV HEADER en Postgres o LOAD DATA INFILE en MySQL. Toda la tubería se ejecuta en segundos para archivos que tardarían minutos a través de un importador GUI.bq load o COPY INTO. Un trabajo .bat nocturno convierte los informes Excel del día a CSV y los carga en un bucket intermedio para que el almacén los recoja.read_csv y R read.csv. Cuando los datos de origen llegan como XLSX desde finanzas u operaciones, un conversor del lado del servidor produce CSV limpio sin que nadie toque Excel.-CSVDelimiter y -Encoding establecidos para coincidir con la especificación de la agencia.El conversor analiza archivos XLS y XLSX directamente. No necesita Microsoft Office, LibreOffice ni ninguna aplicación de hoja de cálculo instalada en el servidor. Esto evita los costes de licencia y la conocida inestabilidad de automatizar Excel en escenarios desatendidos.
Total Excel Converter X está diseñado para uso desatendido. Sin ventanas de interfaz, sin cuadros de diálogo, sin mensajes de confirmación. Se ejecuta silenciosamente desde la línea de comandos o como parte de un servicio — exactamente lo que un servidor de producción necesita.
Los importadores CSV reales se preocupan por los detalles. Un delimitador de punto y coma para sistemas europeos, UTF-8 para texto internacional, envoltura con comillas dobles para campos con comas incrustadas. Un libro Excel con doce hojas mensuales es un solo archivo, pero CSV contiene una tabla por archivo — -EachSheetSeparate divide el libro en doce archivos CSV nombrados, cada uno listo para ingesta separada. Cada detalle se expone como un indicador de línea de comandos, por lo que la salida coincide con lo que su tubería posterior espera al primer intento.
La misma herramienta de línea de comandos convierte Excel a PDF, DOC, HTML, XML, JSON, ODS, TIFF, JPEG y más. Una sola instalación cubre cada destino de conversión Excel. Cambie -c CSV por -c PDF y obtendrá informes PDF con las mismas funciones de lote y automatización.
(30 días, sin correo electrónico ni tarjeta de crédito)
(licencia de servidor, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Nuestra tubería ingiere más de 200 archivos XLSX al día de los gerentes regionales de tienda y los carga en Postgres mediante COPY. Reemplazamos un frágil script Python-más-openpyxl con XLSConverter.exe en un trabajo .bat. Los indicadores de delimitador punto y coma y UTF-8 resolvieron nuestros problemas de caracteres alemanes y polacos en la primera ejecución. El rendimiento pasó de cuarenta minutos a menos de cinco para el mismo lote nocturno."
Priya Raghavan Data Engineer, Retail Analytics
"Alimentamos libros Excel mensuales a BigQuery para el panel ejecutivo. El indicador -EachSheetSeparate fue la pieza que faltaba — un CSV por hoja se asigna limpiamente a una tabla intermedia por línea de negocio. No más exportaciones manuales hoja por hoja desde Excel. La interfaz COM permite que la misma herramienta sirva nuestro portal interno de carga."
Daniel Kowalski BI Analyst, Insurance Group
"Integré XLSConverter mediante la clase ActiveX en un servicio .NET que procesa informes de corredores. La evaluación de fórmulas funciona correctamente incluso en los libros más grandes con referencias entre hojas. El indicador de codificación maneja nuestra entrada italiana y francesa limpiamente. La documentación sobre algunos de los indicadores más raros podría ser más detallada, pero el soporte respondió a mis preguntas dentro de un día hábil."
Sofia Marchetti ETL Developer, FinTech Platform
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV. Esto convierte cada archivo XLSX en la carpeta de origen a CSV. Añada indicadores como -CSVDelimiter ";", -Encoding UTF-8 o -EachSheetSeparate para controlar la salida.-CSVDelimiter. Pase "," para coma (predeterminado), ";" para punto y coma (común en localizaciones europeas), "\t" para tabulador o "|" para barra vertical. Envuelva el valor entre comillas dobles en la línea de comandos.-Encoding UTF-8 al comando. Otras páginas de códigos admitidas incluyen UTF-16, Windows-1251, Windows-1252, ISO-8859-1 y muchas más. Establezca la codificación para que coincida con lo que su base de datos o importador espera, de modo que los caracteres no ASCII sobrevivan intactos.-EachSheetSeparate y el conversor produce un CSV por hoja, nombrado {file}_{sheet}.csv. Use ese modo siempre que cargue cada hoja en una tabla de base de datos diferente.
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;
Descargue la versión de prueba y convierta sus archivos en minutos.
No se requiere tarjeta de crédito ni email.