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:
|
|
|
Agenci LLM (Claude, ChatGPT, Cursor, Cline) i potoki retrieval (LangChain, LlamaIndex, Haystack) nie czytają XLSX. Czytają tekst. Total Excel Converter X zapisuje arkusze do GitHub-Flavored Markdown z ustrukturyzowanym frontmatterem i opcjonalnym sidecarem zgodnym z Doclingiem, dzięki czemu skoroszyt trafia do Twojego vector store z zachowaną hierarchią, nagłówkami, formułami i jednostkami — a nie jako płaski ciąg znaków z utraconymi scalonymi komórkami.
Co otrzymujesz, gdy wybierzesz wyjście Markdown:
source_file, format (MIME), generator, created, liczba arkuszy, liczby wierszy/kolumn, wykryte języki, binarny hash do śledzenia pochodzenia
# / ## / ###, dzięki czemu splittery RAG tną na granicach semantycznych, a nie w środku tabeli
.docling.json — typowane kolumny z jednostkami (EUR, szt., kWh, %), znormalizowane formuły (=qty*unit_price) wraz z oryginalnymi współrzędnymi (of:=[.C5]*[.D5]) oraz chunks_hint dla splittera
UnstructuredMarkdownLoader / MarkdownReader obsługuje wyjście
To właśnie nazywamy CoolUtils RAG Adapter — ujednolicony kontrakt Markdown współdzielony przez każdy produkt Total Converter X. Pełna specyfikacja, przykładowe .md + .docling.json oraz fragmenty integracji znajdują się na stronie Coolutils Converter X — RAG Adapter.
(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
Programiści i działy IT konwertujące pliki Excel do PDF, DOC, CSV i więcej na serwerach
Dodaj konwersję Excel do PDF do swojej aplikacji webowej przez ActiveX
Programiści webowi integrują Total Excel ConverterX z aplikacjami ASP, PHP lub .NET, umożliwiając użytkownikom przesyłanie plików Excel i natychmiastowe odbieranie przekonwertowanego wyjścia PDF, HTML lub CSV. Konwerter działa dyskretnie na serwerze bez interfejsu graficznego, obsługując wielu jednoczesnych użytkowników bez przerywania.
Automatycznie konwertuj eksporty Excel z systemów biznesowych
Działy IT przedsiębiorstw planują przetwarzanie nocnych eksportów XLS i XLSX z platform ERP, CRM i BI przez Total Excel ConverterX. Konwertuj raporty finansowe do chronionego PDF, wyodrębniaj dane do CSV dla baz danych lub przekształcaj arkusze do HTML dla wewnętrznych pulpitów — wszystko bezobsługowo za pomocą wiersza poleceń.
Automatycznie konwertuj nowe pliki Excel po ich pojawieniu się w folderach
W połączeniu z Total Folder Monitor, Total Excel ConverterX obserwuje wyznaczone foldery i automatycznie konwertuje nowe pliki XLS po ich pojawieniu się. Przychodzące arkusze kalkulacyjne z przesyłek od partnerów, dropów FTP lub automatycznych eksportów są konwertowane do wymaganego formatu i kierowane do właściwego miejsca docelowego bez udziału operatora.
Udostępniaj konwersję Excel wszystkim użytkownikom w sieci lokalnej
Organizacje wdrażają Total Excel ConverterX jako wspólną usługę w sieci firmowej. Pracownicy z działów finansów, sprzedaży i operacji przesyłają pliki Excel do konwersji na PDF, DOC lub CSV przez scentralizowany serwer — bez potrzeby instalowania konwerterów desktopowych na każdej stacji roboczej.
Wbuduj konwersję arkuszy kalkulacyjnych we własne oprogramowanie
Dostawcy oprogramowania wbudowują Total Excel ConverterX w swoje produkty, dodając możliwości eksportu Excel. Interfejs ActiveX zapewnia funkcje konwersji przez proste wywołania API — konwertuj pliki XLS, XLSX, ODS i DBF do PDF, HTML, CSV, SQL, LaTeX i ponad 15 innych formatów z dowolnej aplikacji zgodnej z COM.
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 Thu, 11 Jun 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..md jako format wyjściowy, a konwerter zapisze GitHub-Flavored Markdown: każdy arkusz staje się tabelą GFM z zachowanymi wielowierszowymi nagłówkami, scalonymi komórkami i dwujęzycznymi opisami kolumn. Blok YAML frontmatter zawiera source_file, MIME format, liczbę arkuszy, liczbę wierszy/kolumn, wykryte języki, generator oraz binarny hash dla śledzenia pochodzenia. Hierarchia skoroszytu (skoroszyt → arkusze → nazwane zakresy → pasy nagłówków) mapuje się na nagłówki Markdown # / ## / ###, dzięki czemu splitery RAG tną na granicach semantycznych zamiast w środku tabeli. To część CoolUtils RAG Adapter — ten sam kontrakt Markdown jest współdzielony przez każdy produkt Total Converter X.=qty*unit_price) obok oryginalnych współrzędnych komórek (of:=[.C5]*[.D5]), prostokąty ograniczające dla każdego arkusza, binary_hash dla śledzenia pochodzenia oraz tablicę chunks_hint, którą może odczytać Twój splitter. Włącz za pomocą -Docling w wierszu poleceń. JSON jest niezależny od Markdown — możesz podać oba do indeksu lub pominąć i używać tylko .md..md to zwykły GFM z blokiem YAML frontmatter, więc UnstructuredMarkdownLoader z LangChain, MarkdownReader z LlamaIndex, MarkdownToDocument z Haystack oraz narzędzia plików MCP w Claude Code odczytują go bezpośrednio. Dla Claude, ChatGPT lub dowolnego interfejsu czatu możesz wkleić Markdown do kontekstu bez zmian — tabele się renderują, nagłówki pokazują, z której sekcji pochodzi fragment, a frontmatter daje modelowi nazwę pliku źródłowego i wskazówki językowe. Opcjonalny sidecar .docling.json jest konsumowany przez narzędzia świadome Docling lub dowolny niestandardowy loader, który chce typowanych kolumn.ExcelConverterX.exe "C:\reports\Q4.xlsx" "C:\out\" -cMD -Docling. -cMD wybiera wyjście Markdown; -Docling dodatkowo zapisuje sidecar .docling.json. Dodaj -sheets "Summary;Q4;Forecast", aby zawęzić zakres, -Recurse, aby przejść podkatalogi, lub -list "queue.txt" dla nienadzorowanych potoków. Z COM: obj.Convert("Q4.xlsx", "Q4.md", "-cMD -Docling"). Wynikowy Markdown jest gotowy do podziału na fragmenty, osadzenia i zindeksowania w dowolnym vector store.Pobierz wersję próbną i konwertuj pliki w kilka minut.
Nie jest wymagana karta kredytowa ani e-mail.