Masz foldery z plikami HTML lub zeskrobane strony internetowe pełne danych w <table> — raporty finansowe, katalogi produktów, eksportowane pulpity analityczne — i potrzebujesz ich jako prawdziwych arkuszy Excel, żeby analitycy mogli sortować, filtrować, sumować i tworzyć tabele przestawne. Otwieranie każdego pliku w przeglądarce i kopiowanie-wklejanie tabel do Excela łamie formuły i niszczy formatowanie już przy drugim pliku. Total HTML Converter X konwertuje pliki HTML do XLS z wiersza poleceń, wsadowo, bez GUI i bez wymogu instalacji Microsoft Excel. Zainstaluj go na serwerze Windows, wywołaj ze skryptu lub przez ActiveX i pozwól mu działać bez nadzoru.
*.html), a konwerter przetworzy każdy pasujący plik w jednym przebiegu<table>, <tr>, <td>, <th>, colspan i rowspan oraz style inline wpływające na zawartość komórek
(30 dni, bez e-maila)
(licencja serwerowa, wieczysta)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
HTML wyświetla dane tabelaryczne, ale nie przechowuje ich jako arkusza kalkulacyjnego. <table> w przeglądarce to znaczniki tylko do odczytu — nie możesz posortować kolumny, przefiltrować wierszy, napisać formuły SUMA ani zbudować tabeli przestawnej. Liczby są tekstem wewnątrz komórek, a nie wartościami numerycznymi, na których można liczyć.
XLS to format Microsoft Excel zamieniający te same dane w działający arkusz. Każda komórka przechowuje wartość o określonym typie — liczbę, datę, łańcuch — obsługującą formuły, sortowanie, filtrowanie, formatowanie warunkowe i tabele przestawne. Gdy dane uwięzione w stronach HTML muszą wejść do procesu analitycznego, najpierw muszą stać się XLS.
| HTML | XLS | |
|---|---|---|
| Typ danych | Tekst wewnątrz znaczników <td> | Typowane wartości komórek (liczba, data, łańcuch) |
| Sortowanie i filtrowanie | Nieobsługiwane | Wbudowane w Excelu |
| Formuły | Brak | SUMA, ŚREDNIA, WYSZUKAJ.PIONOWO, tabele przestawne |
| Odbiorcy | Odwiedzający stronę | Analitycy, księgowi, zespoły finansowe |
| Zastosowanie | Wyświetlanie w sieci | Raportowanie, modelowanie, importy BI |
Pobierz instalator z linku powyżej i uruchom go na serwerze lub stacji roboczej Windows. Instalacja trwa mniej niż minutę. Nie wymaga instalacji przeglądarki ani pakietu Microsoft Excel — konwerter parsuje HTML i zapisuje XLS bezpośrednio z użyciem własnego silnika, z pełną obsługą tabel HTML, colspan i rowspan oraz osadzonych stylów CSS.
Otwórz cmd.exe lub PowerShell. Plik wykonywalny konwertera to HTMLConverter.exe, znajdujący się w folderze instalacyjnym (zwykle C:\Program Files\CoolUtils\TotalHTMLConverterX\). Dodaj go do systemowej zmiennej PATH lub używaj pełnej ścieżki w poleceniach.
Najprostsze polecenie konwertuje wszystkie pliki HTML w folderze do XLS:
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS
Przetwarza każdy plik .html w folderze C:\Pages\ i zapisuje wynikowe pliki XLS w C:\Output\. Każdy plik HTML tworzy jeden XLS o tej samej nazwie bazowej. Tabele w źródle trafiają jako zakresy komórek; łańcuchy numeryczne stają się wartościami numerycznymi, na których analityk może liczyć.
Kontroluj wyjście XLS za pomocą dodatkowych flag:
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS -CodePage 65001 -Sheet ReportData -log C:\Logs\html2xls.log
-CodePage 65001 — ustaw kodowanie (65001 = UTF-8, 1252 = zachodnie, 1251 = cyrylica, 932 = Shift-JIS)-Sheet ReportData — nazwij wynikowy arkusz w pliku XLS-FirstRowAsHeader 1 — oznacz pierwszy wiersz każdej tabeli jako wiersz nagłówkowy w XLS-log C:\Logs\html2xls.log — zapisz dziennik konwersji do weryfikacjiZapisz polecenie w pliku .bat i zaplanuj je za pomocą Harmonogramu zadań systemu Windows:
@echo off "C:\Program Files\CoolUtils\TotalHTMLConverterX\HTMLConverter.exe" C:\Incoming\*.html C:\Archive\XLS\ -c XLS -CodePage 65001 -Sheet Data -log C:\Logs\html2xls.log
Uruchamia konwersję każdej nocy (lub z dowolną częstotliwością) i zapisuje plik dziennika, dzięki czemu można zweryfikować wyniki. Wrzuć nowy zestaw raportów HTML do C:\Incoming\ i odbierz pliki XLS z C:\Archive\XLS\ następnego ranka.
Total HTML Converter X zawiera pełny interfejs ActiveX. Możesz wywoływać konwerter z dowolnego środowiska zgodnego z COM — .NET, VBScript, PHP, Python, Ruby lub ASP. Pozwala to osadzić konwersję HTML do XLS we własnej aplikacji webowej, portalu intranetowym lub usłudze raportowej bez uruchamiania osobnego procesu z wiersza poleceń.
Przykład (C#/.NET):
HTMLConverterX Cnv = new HTMLConverterX();
Cnv.Convert("C:\\Pages\\report.html", "C:\\Output\\report.xls", "-c XLS -CodePage 65001 -log c:\\Logs\\html.log");
Przykład (PHP):
$c = new COM("HTMLConverter.HTMLConverterX");
$c->convert("C:\\Pages\\report.html", "C:\\Output\\report.xls", "-c XLS -CodePage 65001 -log c:\\Logs\\html.log");
To samo wywołanie działa z ASP.NET, VBScript, Python, Ruby, Perl i JavaScript (Windows Script Host). Twoja aplikacja webowa może przyjmować przesyłane strony HTML lub adres URL i zwracać użytkownikowi działający arkusz XLS w czasie rzeczywistym.
| Funkcja | Konwertery online | Total HTML Converter X |
|---|---|---|
| Przetwarzanie wsadowe | Jeden plik naraz | Nieograniczona liczba plików na partię |
| Prywatność plików | Pliki wysyłane na serwer zewnętrzny | Pliki nigdy nie opuszczają Twojego komputera |
| Parsowanie tabel | Podstawowe; scalone komórki często popsute | Pełna obsługa <table>, zachowane colspan/rowspan |
| Wartości numeryczne | Często zapisane jako tekst | Liczby trafiają jako komórki numeryczne, formuły działają |
| Kontrola kodowania | Zgadywane automatycznie | Jawna flaga -CodePage, bez zgadywania |
| Automatyzacja | Tylko ręcznie | Wiersz poleceń, .bat, Harmonogram zadań, ActiveX |
| Wdrożenie na serwerze | Niemożliwe | Zaprojektowany dla serwerów, bez GUI |
| Wymaga zainstalowanego Excela | nd. | Nie |
| Wymaga internetu | Tak | Nie |
Konwerter zapisuje prawidłowe pliki XLS bezpośrednio. Nie potrzebujesz Microsoft Office, LibreOffice ani żadnej aplikacji arkuszowej zainstalowanej na serwerze. Pozwala to uniknąć kosztów licencji i znanej niestabilności automatyzacji Excela w scenariuszach bez nadzoru — bez osieroconych procesów EXCEL.EXE, bez problemów z tożsamością DCOM, bez losowych zawieszeń.
Total HTML Converter X jest zaprojektowany do pracy bez nadzoru. Żadnych okien GUI, okien dialogowych ani monitów potwierdzenia. Działa cicho z wiersza poleceń lub jako część usługi — dokładnie tego, czego potrzebuje serwer produkcyjny. Uruchamianie pod zaplanowanym zadaniem Windows lub jako element potoku CI jest proste.
Wyjście XLS zawiera typowane wartości komórek, a nie ścianę tekstu wrzuconą do kolumny A. Liczby są liczbami, daty są datami, łańcuchy są łańcuchami. Sortowanie, filtrowanie i formuły Excela działają na wyniku bez żadnego post-processingu. Wiersze nagłówkowe i scalone komórki ze źródłowego HTML przechodzą do arkusza.
To samo narzędzie wiersza poleceń konwertuje HTML do PDF, DOC, TIFF, JPEG, RTF, TXT i wielu innych formatów. Jedna instalacja pokrywa wszystkie potrzeby konwersji HTML. Zmień -c XLS na -c PDF, a otrzymasz wyjście PDF z tymi samymi funkcjami wsadowymi i automatyzacji — przydatne, gdy finanse chcą XLS, ale dział prawny chce podpisanego PDF z tego samego źródła.
(30 dni, bez e-maila i karty kredytowej)
(licencja serwerowa, wieczysta)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Co noc ściągamy ceny konkurencji z kilkunastu publicznych witryn katalogowych. Strony to tabele HTML, ale nasz model cenowy żyje w Excelu. Total HTML Converter X zamienia zeskrobane strony w pliki XLS w jednym zadaniu .bat, z komórkami numerycznymi we właściwym formacie, dzięki czemu WYSZUKAJ.PIONOWO działa na nich od razu. Flaga -CodePage naprawiła akcentowane nazwy produktów, które nasze poprzednie narzędzie kaleczyło."
Priya Ramanathan Senior Data Analyst, Retail Analytics
"Nasz SaaS eksportuje raporty HTML dla klientów, ale klienci korporacyjni ciągle proszą o XLS. Wbudowaliśmy interfejs ActiveX w nasz backend PHP, żeby ten sam raport HTML mógł być dostarczany jako działający arkusz na żądanie. Wywołanie COM zwraca prawdziwy XLS z sortowalnymi kolumnami, a nie zrzut tekstu do kolumny A. Porzuciliśmy automatyzację Excela z naszego stosu serwerowego w tym samym tygodniu."
Tobias Kleinmann Backend Developer, Reporting Platform
"Przeprowadziliśmy migrację starszego intranetu, który wyświetlał dane budżetowe jako tabele HTML na tysiącach stron. Konwersja masowa do XLS uruchomiła się w weekend na jednym serwerze Windows Server 2019, bez licencji Office, a finanse zaimportowały wynikowe arkusze prosto do swojego nowego systemu. Dokumentacja wokół bardziej niejasnych flag mogłaby być bogatsza, ale wsparcie odpowiedziało w ciągu jednego dnia, gdy mieliśmy pytanie o kodowanie."
Rosa Fernandez IT Manager, Municipal Government
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS. Konwertuje każdy plik HTML w folderze źródłowym do XLS. Dodaj flagi takie jak -CodePage 65001, -Sheet ReportData lub -log, aby kontrolować wyjście.<table>, <tr>, <td> i <th> mapują się do wierszy i kolumn w XLS. Colspan i rowspan są zachowane jako scalone komórki. Łańcuchy numeryczne stają się wartościami numerycznymi, które działają z SUMA, ŚREDNIA i tabelami przestawnymi.-CodePage. -CodePage 65001 to UTF-8, 1252 to zachodnioeuropejski, 1251 to cyrylica, 932 to Shift-JIS. Ustaw ją tak, aby pasowała do kodowania zadeklarowanego w źródłowym HTML, a zawartość komórek trafi do XLS bez uszkodzeń.HTMLConverter.HTMLConverterX). Możesz go wywoływać z .NET, PHP, Python, VBScript, ASP, Ruby, Perl i każdego innego środowiska zgodnego z COM, aby konwertować HTML do XLS na żądanie wewnątrz własnej aplikacji webowej.-Sheet TwojaNazwaArkusza w wierszu poleceń, a wynikowy skoroszyt będzie używał tej nazwy dla swojego arkusza zamiast domyślnej. Przydatne, gdy XLS zasila system docelowy szukający konkretnej nazwy arkusza.
string src = @"C:\test\Source.html";
string dest = @"C:\test\Dest.pdf";
var cnv = new HTMLConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\HTML.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\HTMLConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.html";
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}\" -cPDF";
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("HTMLConverter.HTMLConverterX")
C.Convert "c:\source.html", "c:\dest.jpg", "-cJPG -log c:\html.log"
C.Convert "https://www.coolutils.com/", "c:\URL Page.pdf", "-cPDF -log c:\html.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
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.html", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.html";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("HTMLConverter.HTMLConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\HTML.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('HTMLConverter.HTMLConverterX')
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("HTMLConverter.HTMLConverterX")
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('HTMLConverter.HTMLConverterX');
c.Convert('c:\test\source.html', 'c:\test\dest.pdf', '-cPDF -log c:\test\HTML.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("HTMLConverter.HTMLConverterX");
c.Convert("C:\\test\\source.html", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.html"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'HTMLConverter.HTMLConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\HTML.log"); print $c->ErrorMessage if -e $dest;
Pobierz wersję próbną i konwertuj pliki w kilka minut.
Nie jest wymagana karta kredytowa ani e-mail.

Powiązane tematy
Konwersja HTML do PDF z wiersza poleceń — wsadowy konwerter serwerowy