CSV в DOC, PDF, HTML, TXT, XLS, DBF, XML или форматы OpenOffice через командную строку
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CSV ConverterX работает как автономное клиент-серверное приложение или веб-сервис. Многопоточный движок обрабатывает большие объёмы на максимальной скорости. Совместим с IIS, Docker, Citrix и Wine.
Скачайте бесплатную 30-дневную пробную версию с полным функционалом. Ищете настольную версию? Смотрите Total CSV Converter. Другие продукты на CoolUtils Server Products.
(включает 30-дневный бесплатный пробный период)
(только $850.00)
string src = @"C:\test\Source.csv";
string dest = @"C:\test\Dest.xlsx";
var cnv = new CSVConverterX();
cnv.Convert(src, dest, "-cXLSX -log c:\\test\\CSV.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\CSVConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.csv";
var outPath = Path.GetTempFileName() + ".xlsx";
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}\" -cXLSX";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("CSVConverter.CSVConverterX")
C.Convert "c:\test\source.csv", "c:\test\dest.xlsx", "-cXLSX -log c:\test\CSV.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("CSVConverter.CSVConverterX")
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.csv", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.csv";
$dest="C:\\test\\test.xlsx";
if (file_exists($dest)) unlink($dest);
$c= new COM("CSVConverter.CSVConverterX");
$c->convert($src,$dest, "-cXLSX -log c:\\test\\CSV.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('CSVConverter.CSVConverterX')
src = "C:\\test\\test.csv"
dest = "C:\\test\\test.xlsx"
c.convert(src, dest, "-cXLSX -log c:\\test\\CSV.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("CSVConverter.CSVConverterX")
src = "C:\\test\\test.csv"
dest = "C:\\test\\test.xlsx"
c.convert(src, dest, "-cXLSX -log c:\\test\\CSV.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('CSVConverter.CSVConverterX');
c.Convert('c:\test\source.csv', 'c:\test\dest.xlsx', '-cXLSX -log c:\test\CSV.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("CSVConverter.CSVConverterX");
c.Convert("C:\\test\\source.csv", "C:\\test\\dest.xlsx", "-cXLSX");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.csv"; my $dest = "C:\\test\\test.xlsx"; my $c = CreateObject Win32::OLE 'CSVConverter.CSVConverterX'; $c->convert($src, $dest, "-cXLSX -log c:\\test\\CSV.log"); print $c->ErrorMessage if -e $dest;
"Я конвертирую CSV-файл в XLS из командной строки Windows. Готов был ставить Office, но Total CSV Converter X справился с задачей и без него. Отличная программа, спасибо!"
Ron Duggs
Consumer Settlements
"Нам нужно было извлечь несколько CSV-файлов из разных листов. Перепробовали несколько конвертеров, но нормально сработал только этот. Спасибо!"
Gilbert L.
Independent Developer
"Клиенты по ночам загружают транзакционные CSV в разных диалектах: американские с запятой, европейские с точкой с запятой, табулированные со старого мейнфрейма. Total CSV Converter X приводит всё к XLSX по нашей отчётной схеме ещё до того, как данные попадают в аналитическое хранилище. Обёртка для .NET встроилась в существующий пайплайн, скорость на нашем железе около 300 файлов в минуту, и CLI даёт стабильный результат от запуска к запуску."
Marek S.
Senior Backend Developer at a fintech
"Мы заменили пайплайн на Excel-Interop, для которого приходилось ставить Office на каждую виртуалку конвертации. Теперь на этих ВМ работает только CSVConverterX.exe из очереди. -Recurse -kfs сохраняет иерархию папок партнёров на выходе, а -separator с произвольным символом покрывает любой нестандартный формат загрузки. Без интерфейса на Windows Server Core, без Office, без сюрпризов уже четыре года в проде."
Aoife K.
DevOps Engineer at a logistics SaaS
"Встроили Total CSV Converter X в свой продукт для миграции данных по лицензии Royalty-Free. Разовая оплата за проект оказалась намного выгоднее подписки Aspose.Cells на каждого разработчика. Наш установщик ставит и регистрирует ActiveX, приложение обращается к нему напрямую, конечный пользователь видит только наш интерфейс. Ограничение ActiveX 32-битами стоило нам пары дней доработки пайплайна, но поддержка отвечала оперативно, когда мы спрашивали про обходные варианты."
Tomasz B.
Independent Software Vendor
Development teams that need server-side CSV conversion via ActiveX or command line
Power web-based CSV-to-PDF and CSV-to-Excel tools
Web developers integrate Total CSV ConverterX via ActiveX into ASP or PHP applications to offer CSV conversion as an online service. Users upload CSV files through a browser, the server converts them to PDF, XLS, or HTML on the fly, and delivers the result — all without any desktop software or pop-up windows.
Convert CSV data dumps from ERP systems automatically
Enterprise IT teams deploy Total CSV ConverterX on servers to process CSV exports from SAP, Oracle, and other ERP systems. Scheduled tasks convert nightly data dumps to Excel for finance teams, XML for partner integrations, or DBF for legacy systems — preserving folder structure and handling custom delimiters automatically.
Transform CSV feeds into JSON, XML, or database formats
Data engineering teams use the command line interface to build conversion steps into ETL pipelines. CSV files from APIs, IoT sensors, or log systems are converted to JSON for web services, XML for data warehouses, or SQL-ready formats for direct database import — with full control over data types, separators, and row filtering.
Serve converted reports to multiple users on a network
Total CSV ConverterX runs as a client-server application on a local network, allowing multiple users to request CSV conversions simultaneously. Finance, sales, and operations teams each get their data exports converted to the format they need — PDF for management, XLS for analysts, HTML for dashboards — from a single server installation.
Convert transactional CSV logs to archival PDF and DOC
Regulated industries convert transactional CSV logs and audit trails into PDF or DOC for long-term archival storage. Total CSV ConverterX processes large volumes of files silently on the server with no GUI interruptions, making it ideal for unattended overnight jobs and compliance-driven retention workflows.
Total CSV ConverterX поставляется с CSVConverterX.exe — консольной программой, которую можно запускать из скриптов, планировщика задач, ETL-пайплайнов или любого серверного сервиса, которому нужно превратить данные CSV и TSV в другой формат. Набор флагов соответствует GUI-версии CSVConverter.exe; полный справочник смотрите в документации командной строки. Приведённые ниже рецепты охватывают сценарии, о которых чаще всего спрашивают клиенты SDK.
Минимально возможный вызов — один исходный файл, один вывод, один целевой формат. Полезно для разовой отчётности, когда чистый разбитый на страницы PDF нужно положить кому-то в почту.
CSVConverterX.exe "C:\reports\sales.csv" "C:\out\sales.pdf" -cPDF
Обработайте каждый CSV в папке и запишите соответствующие XLS в соседнюю папку вывода. Подстановочный знак *.csv подхватит всё на верхнем уровне исходного пути.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS
Замените -cXLS на -cODS, чтобы нацелиться на OpenOffice Calc, или -cDBF, чтобы кормить устаревшую базу данных.
Экспорты отчётов часто приходят как датированное дерево: одна папка на регион, одна подпапка на день. -Recurse обходит подкаталоги; -kfs воссоздаёт то же дерево на стороне вывода вместо того, чтобы сваливать всё в одну корзину.
CSVConverterX.exe "C:\reports\2026\*.csv" "C:\out\2026\" -cPDF -Recurse -kfs
Экспорты Excel в немецкой, французской и других локалях используют точку с запятой вместо запятой, потому что запятая — десятичный разделитель. -comma задаёт разделитель полей для входного файла независимо от названия флага.
CSVConverterX.exe "C:\reports\de\*.csv" "C:\out\" -cXLS -comma ";"
TSV-файлы, экспорты из SQL-клиентов и дампы логов часто используют табуляцию или вертикальную черту в качестве разделителя полей. Передавайте литеральный символ в -comma; для табуляции используйте \t.
CSVConverterX.exe "C:\data\*.tsv" "C:\out\" -cXLS -comma "\t"
CSVConverterX.exe "C:\data\*.csv" "C:\out\" -cXLS -comma "|"
Многие реальные экспорты CSV начинаются с нескольких строк метаданных (заголовок отчёта, дата, подсказка о разделителе) перед началом самой таблицы. -skip отбрасывает эти преамбульные строки; -fh говорит конвертеру, что следующая строка — заголовок, чтобы имена столбцов прошли в вывод.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -skip 3 -fh
Некоторые пайплайны оборачивают текстовые поля в одинарные кавычки или обратные апострофы вместо стандартной двойной кавычки. -quote задаёт символ, который парсер на входе считает разделителем строки.
CSVConverterX.exe "C:\exports\*.csv" "C:\out\" -cXML -quote "'"
XML до сих пор остаётся языком общения для многих B2B-интеграций и импортов в ERP. Конвертер пишет по одному XML-элементу на строку CSV, используя имена заголовков как теги, когда задан -fh.
CSVConverterX.exe "C:\reports\orders.csv" "C:\out\orders.xml" -cXML -fh
Когда воркер пишет файл-очередь, а конвертер его разбирает, не нужно зашивать каждый путь в командную строку. -list читает маски файлов (по одной на строку) из текстового файла — идеально для ночных пакетов, собранных другим скриптом.
CSVConverterX.exe -list "C:\queues\nightly.txt" "C:\out\" -cPDF
Как только CSVConverterX.exe работает как сервис или плановое задание, единственный способ узнать, что произошло, — лог. -verbosity detail пишет по строке на файл вместо только ошибок; -log перенаправляет все сообщения в файл, чтобы консоль оставалась тихой.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -log "C:\logs\csvconv.log" -verbosity detail
Добавьте -do, если исходные файлы должны быть удалены после успешной конвертации — удобно для рабочих процессов с папками-спулерами, где очередь опорожняется по мере её вычерпывания.
Обновлено Fri, 01 May 2026
(только $850.00)
Скачайте пробную версию и конвертируйте файлы за считанные минуты.
Не требуется ни банковская карта, ни email.