Конвертируйте XLS, XLSX, ODS, XML электронные таблицы в пакетном режиме через веб-серверы.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Excel Converter X — это серверный SDK, который конвертирует таблицы XLSX, XLS, XLSM, ODS, CSV и XML в PDF, JSON, XML, HTML, DBF, SQL и более чем 15 других форматов без Microsoft Excel или какого-либо Office-рантайма на сервере. Он работает в headless-режиме: без графического интерфейса, без диалогов, без всплывающих окон. Total Excel Converter X поставляется и как консольный бинарник, и как ActiveX/COM-компонент, поэтому встраивается в ASP, PHP, .NET, Python, Ruby, Java и любой другой COM-совместимый бэкенд. Полный список поддерживаемых исходных форматов:
-list) для запусков без оператора.Программа читает книги напрямую — без автоматизации Excel, без зависимости от Open XML SDK, без headless-инстанса Office, за которым нужно следить.
Высокая скорость конвертации и пакетная обработка делают процесс простым и не утомительным. Попробуйте бесплатно (30-дневный пробный период без ограничений) и убедитесь, что программа действительно стоит своих денег.
Некоторые из поддерживаемых на сегодня форматов конвертации:
|
|
|
(включает 30-дневный бесплатный пробный период)
(только $550.00)
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;
"Два года назад мы заменили скрипт на Excel-Interop COM-автоматизации на Total Excel Converter X. Прежний пайплайн на Interop тёк хендлами, ронял app pool и требовал полной установки Office на каждой ВМ конвертации. Теперь на этих ВМ нет ничего, кроме ExcelConverterX.exe за очередью. Задержка конвертации упала примерно с 12 секунд на книгу до 1.5 секунды, и строка лицензий Office исчезла. Интеграция с .NET-воркером заняла полдня."
Mateusz K.
Senior Backend Developer at a fintech
"Наши клиенты загружают зарплатные таблицы во всех вариациях: вендорские шаблоны в XLS, современный XLSX с макросами, изредка ODS от пользователей LibreOffice. Total Excel Converter X нормализует всё в единый архивный профиль PDF с шифрованием AES-256 и проставляет флаги разрешений, которые нужны нам для комплаенса. Файл-очередь -list плюс детальные логи -verbosity сразу попадают в наш агрегатор логов. Headless на Windows Server Core, без Office, без сюрпризов."
Sofia L.
DevOps Engineer at a payroll SaaS
"Мы предоставляем XLSX-в-JSON как сервис нашим ETL-клиентам. Total Excel Converter X — движок за этим эндпоинтом. -FirstRowIsHeader и прямой вывод JSON означают, что нам не пришлось писать собственный парсер или поддерживать отдельный шаг CSV-в-JSON. Пять лет пропускной способности на тысячах конвертаций в день, без отказов, в которых можно было бы винить конвертер. CLI стабилен, а вывод бит-в-бит идентичен от запуска к запуску."
Hamid Y.
CTO at an ETL platform vendor
"Встроили Total Excel Converter X в наш отчётный продукт по Royalty-Free License. Единоразовая оплата за проект оказалась долей того, что Aspose-Cells просил по подписке на разработчика. Наш инсталлятор поставляет и регистрирует ActiveX, наше приложение вызывает его напрямую, конечные пользователи видят только наш UI. Ограничение в 32 бита ActiveX стоило нам пары дней переделки пайплайна, но поддержка отвечала быстро, когда мы спрашивали про обходные пути."
Britt N.
Independent Software Vendor
"Брокеры загружают экспорты объявлений в XLSX со встроенными фотографиями и объединёнными ячейками, а нам нужен чистый PDF для публичного портала. Total Excel Converter X справляется с особенностями рендеринга (объединённые ячейки, закреплённые области, именованные диапазоны) лучше, чем open-source библиотеки, которые мы тестировали. Объединение десяти книг в один ежемесячный PDF через -combine -sort name — функция, которой мы пользуемся в каждом релиз-цикле."
Daichi T.
Lead .NET Developer at a real-estate platform
Developers and IT teams that convert Excel files to PDF, DOC, CSV, and more on servers
Add Excel-to-PDF conversion to your web app via ActiveX
Web developers integrate Total Excel ConverterX into ASP, PHP, or .NET applications so users can upload Excel files and receive converted PDF, HTML, or CSV output instantly. The converter runs silently on the server with no GUI, supporting multiple simultaneous users without interruption.
Auto-convert Excel exports from business systems
Enterprise IT teams schedule Total Excel ConverterX to process nightly XLS and XLSX exports from ERP, CRM, and BI platforms. Convert financial reports to protected PDF, extract data to CSV for databases, or transform spreadsheets to HTML for internal dashboards — all unattended via command line.
Auto-convert new Excel files as they arrive in folders
Paired with Total Folder Monitor, Total Excel ConverterX watches designated folders and automatically converts new XLS files as they appear. Incoming spreadsheets from partner uploads, FTP drops, or automated exports are converted to the required format and routed to the right destination hands-free.
Serve Excel conversion to all users on your local network
Organizations deploy Total Excel ConverterX as a shared service on the company network. Employees from finance, sales, and operations submit Excel files for conversion to PDF, DOC, or CSV through a centralized server — no need to install desktop converters on every workstation.
Embed spreadsheet conversion into your own software
Software vendors embed Total Excel ConverterX into their products to add Excel export capabilities. The ActiveX interface provides conversion functions through simple API calls — convert XLS, XLSX, ODS, and DBF files to PDF, HTML, CSV, SQL, LaTeX, and 15+ other formats from within any COM-compatible application.
Total Excel ConverterX поставляется с ExcelConverterX.exe — консольной программой, которую можно запускать из скриптов, планировщика задач, CI-раннеров или любого серверного сервиса. Набор флагов соответствует GUI-версии ExcelConverter.exe; полный справочник смотрите в документации командной строки. Приведённые ниже рецепты охватывают сценарии, о которых чаще всего спрашивают клиенты SDK.
Минимально возможный вызов — один исходный файл, один вывод, один целевой формат.
ExcelConverterX.exe "C:\reports\Q4-financials.xlsx" "C:\out\Q4-financials.pdf" -cPDF
Обработайте каждую книгу в папке и положите PDF в соседнюю папку вывода. Замените маску на *.xls, *.ods или *.csv, чтобы выбрать другой исходный формат.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF
Большинству пайплайнов данных нужен CSV, но редко с обычной запятой. Используйте -td, чтобы выбрать из стандартных разделителей (Tab, Space, Semicolon, Comma), или -td Other -tdo, чтобы задать что-то другое — здесь символ вертикальной черты.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cCSV -td Other -tdo "|" -FirstRowIsHeader -UseQuote
-FirstRowIsHeader говорит конвертеру трактовать строку 1 как имена столбцов; -UseQuote оборачивает текстовые поля в кавычки, чтобы встроенные разделители не ломали парсинг.
Чтобы скармливать данные книги в REST-эндпоинт или ETL-задание, выводите сразу в структурированный формат, а не идите через CSV.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cJSON -FirstRowIsHeader
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cXML -FirstRowIsHeader
Множество бухгалтерских и ERP-инструментов до сих пор потребляют DBF-таблицы. Конвертер пишет валидные dBase-файлы прямо из книги.
ExcelConverterX.exe "C:\reports\customers.xlsx" "C:\out\customers.dbf" -cDBF -FirstRowIsHeader
По умолчанию каждый видимый лист становится отдельным выходным файлом. -sheets выбирает только названные вами листы; -cs объединяет их в один документ; -ExportAll включает скрытые листы.
ExcelConverterX.exe "C:\reports\workbook.xlsx" "C:\out\summary.pdf" -cPDF -sheets "Summary;Q4;Forecast" -cs
Месячная отчётность часто означает сшивание десяти-двадцати книг в одну поставку. -combine сливает их в один PDF в порядке исходных файлов; -sort name управляет этим порядком.
ExcelConverterX.exe "C:\reports\monthly\*.xlsx" "C:\out\monthly-pack.pdf" -cPDF -combine -sort name
Когда книги лежат во вложенных папках клиентов, -Recurse обходит подкаталоги, а -kfs воссоздаёт ту же структуру на стороне вывода вместо того, чтобы сваливать всё в одну корзину.
ExcelConverterX.exe "C:\clients\*.xlsx" "C:\out\clients\" -cPDF -Recurse -kfs
Стандарт для отправки финансовых отчётов внешним получателям: пароль владельца блокирует права на редактирование/печать, пароль пользователя ограничивает открытие файла, а шифрование AES-256 делает его надёжным.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Print -EncryptStrength es256AES
Замените Print любой комбинацией Copy, Modify, Annotation, FormFill, HighResPrint, чтобы предоставить именно те права, которые вы хотите. Добавьте -Pass "wb-pwd" впереди, если сама исходная книга защищена паролем.
Когда воркер пишет файл-очередь, а конвертер его разбирает, не нужно зашивать пути к файлам в саму командную строку. -list читает маски файлов (по одной на строку) из текстового файла; -verbosity detail пишет по строке на файл; -logmode append сохраняет историю между запусками.
ExcelConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF -log "C:\logs\xlsxconv.log" -verbosity detail -logmode append
Обновлено Fri, 01 May 2026
(только $550.00)
new COM("ExcelConverter.ExcelConverterX") в PHP, new ExcelConverterX() в .NET, win32com.client.Dispatch в Python, WIN32OLE.new в Ruby. Кроме того, консольный бинарник ExcelConverterX.exe можно вызвать из любого процесса, планировщика или shell-скрипта. Также доступен прямой вывод PDF в поток через ConvertToStream для веб-ответов ASP/PHP.-mp "owner-pwd" для пароля владельца и -up "user-pwd" для ограничения открытия файла. Флаг -perm принимает любую комбинацию из Print, HighResPrint, Copy, Modify, Annotation, FormFill. Стойкость шифрования задаётся через -EncryptStrength es256AES. Если сама исходная книга защищена паролем, передайте -Pass "workbook-pwd" заранее, чтобы конвертер смог её открыть.-sheets "Summary;Q4;Forecast", чтобы выбрать листы по имени из книги. Добавьте -cs, чтобы объединить выбранные листы в один документ, или -ExportAll, чтобы включить и скрытые листы. Чтобы слить несколько книг в один PDF в порядке исходных файлов, запустите -combine -sort name по маске папки. -Recurse обходит подкаталоги, а -kfs зеркалирует структуру папок на стороне вывода вместо схлопывания всего в одну папку.Скачайте пробную версию и конвертируйте файлы за считанные минуты.
Не требуется ни банковская карта, ни email.