Konwertuj arkusze XLS, XLSX, ODS, XML w partiach przez serwery webowe.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Excel Converter X to serwerowy zestaw SDK, który konwertuje arkusze kalkulacyjne XLSX, XLS, XLSM, ODS, CSV i XML do PDF, JSON, XML, HTML, DBF, SQL oraz ponad 15 innych formatów — bez zainstalowanego pakietu Microsoft Excel ani jakiegokolwiek środowiska uruchomieniowego Office na serwerze. Działa w trybie headless: bez interfejsu graficznego, bez okien dialogowych, bez wyskakujących komunikatów. Total Excel Converter X jest dostarczany zarówno z plikiem binarnym wiersza poleceń, jak i interfejsem ActiveX/COM, dzięki czemu można go osadzić w ASP, PHP, .NET, Pythonie, Ruby, Javie i każdym innym backendzie obsługującym COM. Pełna lista obsługiwanych formatów źródłowych:
-list) do uruchomień bez nadzoru.Program odczytuje skoroszyty bezpośrednio — bez automatyzacji Excela, bez zależności od Open XML SDK, bez instancji Office w trybie headless, którą trzeba by nadzorować.
Wysoka prędkość konwersji i przetwarzanie wsadowe sprawiają, że proces jest prosty i nieuciążliwy. Wypróbuj za darmo (30-dniowy okres testowy, bez ograniczeń) i przekonaj się, że produkt jest naprawdę wart swojej ceny.
Niektóre z aktualnie obsługiwanych konwersji formatów plików:
|
|
|
(zawiera 30-dniowy DARMOWY okres próbny)
(tylko $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;
"Dwa lata temu zastąpiliśmy skrypt automatyzacji COM oparty na Excel-Interop programem Total Excel Converter X. Potok Interop przeciekał uchwytami, powodował awarie pul aplikacji i wymagał pełnej instalacji Office na każdej maszynie wirtualnej do konwersji. Teraz te VM-ki nie uruchamiają niczego poza ExcelConverterX.exe za kolejką. Czas konwersji spadł z około 12 sekund na skoroszyt do 1,5 sekundy, a pozycja licencji Office zniknęła z budżetu. Integracja .NET z naszym workerem zajęła pół dnia."
Mateusz K.
Senior Backend Developer at a fintech
"Nasi klienci wgrywają arkusze płacowe w każdym możliwym wariancie: szablony dostawców w XLS, nowoczesne XLSX z makrami, sporadyczne ODS od użytkowników LibreOffice. Total Excel Converter X normalizuje wszystko do jednego archiwizacyjnego profilu PDF z szyfrowaniem AES-256 i nakłada flagi uprawnień, których potrzebujemy ze względu na zgodność z przepisami. Plik kolejki -list wraz ze szczegółowymi logami -verbosity trafia bezpośrednio do naszego agregatora logów. Headless na Windows Server Core, bez Office, bez niespodzianek."
Sofia L.
DevOps Engineer at a payroll SaaS
"Udostępniamy konwersję XLSX-do-JSON jako usługę dla naszych klientów ETL. Total Excel Converter X to silnik stojący za tym endpointem. -FirstRowIsHeader i bezpośrednie wyjście JSON oznaczają, że nie musieliśmy pisać własnego parsera ani utrzymywać oddzielnego kroku CSV-do-JSON. Pięć lat przepustowości na poziomie tysięcy konwersji dziennie, żadnych awarii, które moglibyśmy przypisać konwerterowi. CLI jest stabilne, a wynik jest identyczny bit po bicie pomiędzy uruchomieniami."
Hamid Y.
CTO at an ETL platform vendor
"Zintegrowaliśmy Total Excel Converter X z naszym produktem do raportowania na licencji Royalty-Free. Jednorazowa opłata za projekt była ułamkiem tego, czego żądał Aspose-Cells w abonamencie per-developer. Nasz instalator dostarcza i rejestruje ActiveX, nasza aplikacja wywołuje go bezpośrednio, użytkownicy końcowi widzą wyłącznie nasze UI. Ograniczenie 32-bitowego ActiveX kosztowało nas kilka dni przebudowy potoku, ale wsparcie szybko reagowało, gdy pytaliśmy o obejścia."
Britt N.
Independent Software Vendor
"Brokerzy wgrywają eksporty ofert w XLSX z osadzonymi zdjęciami i scalonymi komórkami, a my potrzebujemy czystego PDF dla portalu publicznego. Total Excel Converter X radzi sobie z dziwactwami renderowania (scalone komórki, zablokowane okienka, nazwane zakresy) lepiej niż biblioteki open-source, które ocenialiśmy. Łączenie dziesięciu skoroszytów w jeden miesięczny PDF za pomocą -combine -sort name to funkcja, której używamy w każdym cyklu wydawniczym."
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 jest dostarczany z plikiem ExcelConverterX.exe, binarnym narzędziem konsolowym, które możesz uruchamiać ze skryptów, zaplanowanych zadań, runnerów CI lub dowolnej usługi backendowej. Zestaw flag jest zgodny z GUI ExcelConverter.exe; pełną dokumentację znajdziesz w dokumentacji wiersza poleceń. Poniższe przepisy obejmują przypadki, o które najczęściej pytają klienci SDK.
Najprostsze możliwe wywołanie — jeden plik źródłowy, jedno wyjście, jeden format docelowy.
ExcelConverterX.exe "C:\reports\Q4-financials.xlsx" "C:\out\Q4-financials.pdf" -cPDF
Przetwórz każdy skoroszyt w folderze i upuść PDF-y do siostrzanego katalogu wyjściowego. Zamień maskę na *.xls, *.ods lub *.csv, aby wybrać inny format źródłowy.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF
Większość pipeline'ów danych potrzebuje CSV, ale rzadko ze zwykłym przecinkiem. Użyj -td, aby wybrać spośród standardowych separatorów (Tab, Space, Semicolon, Comma) lub -td Other -tdo, aby ustawić cokolwiek innego — tutaj znak pionowej kreski.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cCSV -td Other -tdo "|" -FirstRowIsHeader -UseQuote
-FirstRowIsHeader mówi konwerterowi, aby traktował wiersz 1 jako nazwy kolumn; -UseQuote opakowuje pola tekstowe w cudzysłowy, aby osadzone separatory nie psuły parsowania.
Aby zasilić dane skoroszytu do endpointu REST lub zadania ETL, renderuj bezpośrednio do struktury zamiast przechodzić przez CSV.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cJSON -FirstRowIsHeader
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cXML -FirstRowIsHeader
Wiele narzędzi księgowych i ERP nadal konsumuje tabele DBF. Konwerter pisze prawidłowe pliki dBase prosto ze skoroszytu.
ExcelConverterX.exe "C:\reports\customers.xlsx" "C:\out\customers.dbf" -cDBF -FirstRowIsHeader
Domyślnie każdy widoczny arkusz staje się własnym plikiem wyjściowym. -sheets wybiera tylko arkusze, które wymienisz; -cs łączy je w pojedynczy dokument; -ExportAll obejmuje arkusze ukryte.
ExcelConverterX.exe "C:\reports\workbook.xlsx" "C:\out\summary.pdf" -cPDF -sheets "Summary;Q4;Forecast" -cs
Raportowanie końca miesiąca często oznacza łączenie dziesięciu lub dwudziestu skoroszytów w jedną dostawę. -combine łączy je w jeden PDF w kolejności plików źródłowych; -sort name kontroluje tę kolejność.
ExcelConverterX.exe "C:\reports\monthly\*.xlsx" "C:\out\monthly-pack.pdf" -cPDF -combine -sort name
Gdy skoroszyty znajdują się w zagnieżdżonych folderach klientów, -Recurse przechodzi przez podkatalogi, a -kfs odtwarza to samo drzewo po stronie wyjścia zamiast spłaszczać wszystko do jednego kontenera.
ExcelConverterX.exe "C:\clients\*.xlsx" "C:\out\clients\" -cPDF -Recurse -kfs
Standard wysyłania danych finansowych do zewnętrznych odbiorców: hasło właściciela blokuje uprawnienia edycji/drukowania, hasło użytkownika kontroluje otwarcie pliku, a szyfrowanie AES-256 utrzymuje go solidnym.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Print -EncryptStrength es256AES
Zastąp Print dowolną kombinacją Copy, Modify, Annotation, FormFill, HighResPrint, aby przyznać dokładnie te prawa, które chcesz. Dodaj -Pass "wb-pwd" z góry, jeśli sam źródłowy skoroszyt jest zabezpieczony hasłem.
Gdy proces roboczy zapisuje plik kolejki, a konwerter go konsumuje, nie chcesz kodować ścieżek plików w samym wierszu poleceń. -list czyta maski plików (po jednej na linię) z pliku tekstowego; -verbosity detail pisze jedną linię na plik; -logmode append zachowuje historię między uruchomieniami.
ExcelConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF -log "C:\logs\xlsxconv.log" -verbosity detail -logmode append
Zaktualizowano Fri, 01 May 2026
(tylko $550.00)
new COM("ExcelConverter.ExcelConverterX") w PHP, new ExcelConverterX() w .NET, win32com.client.Dispatch w Pythonie, WIN32OLE.new w Ruby. Alternatywnie, plik wykonywalny wiersza poleceń ExcelConverterX.exe może być wywoływany z dowolnego procesu, harmonogramu lub skryptu powłoki. Dostępne jest również bezpośrednie strumieniowanie PDF przez ConvertToStream dla odpowiedzi webowych w ASP/PHP.-mp "owner-pwd" dla hasła właściciela oraz -up "user-pwd", aby zabezpieczyć otwieranie pliku. Flaga -perm akceptuje dowolną kombinację z: Print, HighResPrint, Copy, Modify, Annotation, FormFill. Siła szyfrowania jest kontrolowana przez -EncryptStrength es256AES. Jeśli sam skoroszyt źródłowy jest chroniony hasłem, przekaż z góry -Pass "workbook-pwd", aby konwerter mógł go otworzyć.-sheets "Summary;Q4;Forecast", aby wybrać arkusze po nazwie ze skoroszytu. Dodaj -cs, aby połączyć wybrane arkusze w jeden dokument wynikowy, lub -ExportAll, aby uwzględnić również arkusze ukryte. Aby scalić kilka skoroszytów w jeden PDF w kolejności pliku źródłowego, uruchom -combine -sort name względem maski folderu. -Recurse przechodzi przez podkatalogi, a -kfs odzwierciedla strukturę folderów po stronie wynikowej zamiast spłaszczać wszystko do jednego kosza.Pobierz wersję próbną i konwertuj pliki w kilka minut.
Nie jest wymagana karta kredytowa ani e-mail.