웹 서버를 통해 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는 XLSX, XLS, XLSM, ODS, CSV, XML 스프레드시트를 PDF, JSON, XML, HTML, DBF, SQL을 비롯한 15가지 이상의 형식으로 변환하는 서버용 SDK입니다 — 서버에 Microsoft Excel이나 Office 런타임을 설치하지 않고도 작동합니다. 헤드리스로 실행됩니다: GUI 없음, 대화상자 없음, 팝업 없음. Total Excel Converter X는 명령줄 바이너리와 ActiveX/COM 인터페이스를 함께 제공하므로 ASP, PHP, .NET, Python, Ruby, Java 및 COM을 지원하는 모든 백엔드에 손쉽게 통합됩니다. 지원되는 입력 형식 전체 목록:
-list) 처리를 지원합니다.이 프로그램은 워크북을 직접 읽습니다 — Excel 자동화 없이, Open XML SDK 의존성 없이, 관리해야 할 헤드리스 Office 인스턴스도 없이.
높은 변환 속도와 일괄 변환으로 단순하고 지루하지 않은 작업이 가능합니다. 무료로 사용해 보세요(30일 평가판, 제한 없음). 그만한 가치가 있다는 것을 직접 확인하실 수 있습니다.
현재 지원되는 파일 형식 변환 일부:
|
|
|
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;
"2년 전에 Excel-Interop COM 자동화 스크립트를 Total Excel Converter X로 교체했습니다. Interop 파이프라인은 핸들 누수가 있고, 앱 풀이 충돌했으며, 모든 변환 VM에 Office 전체 설치가 필요했습니다. 이제 그 VM들은 큐 뒤에서 ExcelConverterX.exe만 실행합니다. 워크북당 변환 지연 시간이 약 12초에서 1.5초로 떨어졌고, Office 라이선스 항목도 없어졌습니다. 우리 워커와의 .NET 통합은 반나절이면 끝났습니다."
Mateusz K.
Senior Backend Developer at a fintech
"고객들은 온갖 형태의 급여 스프레드시트를 업로드합니다: 벤더의 XLS 템플릿, 매크로가 포함된 최신 XLSX, 가끔 LibreOffice 사용자가 보내는 ODS. Total Excel Converter X는 모든 것을 AES-256 암호화가 적용된 단일 보관용 PDF 프로파일로 정규화하고, 컴플라이언스에 필요한 권한별 플래그를 새깁니다. -list 큐 파일과 -verbosity detail 로그가 우리 로그 집계기로 바로 흘러 들어갑니다. Windows Server Core에서 헤드리스로, Office 없이, 예상 밖의 일도 없이 잘 돌아갑니다."
Sofia L.
DevOps Engineer at a payroll SaaS
"우리는 ETL 고객들에게 XLSX-to-JSON을 서비스로 제공합니다. Total Excel Converter X가 그 엔드포인트의 엔진입니다. -FirstRowIsHeader와 직접 JSON 출력 덕분에 자체 파서를 작성하거나 별도의 CSV-to-JSON 단계를 유지할 필요가 없었습니다. 5년간 하루 수천 건의 변환을 처리했지만, 변환기 탓으로 돌릴 만한 실패는 없었습니다. CLI는 안정적이며 출력은 실행할 때마다 비트 단위로 동일합니다."
Hamid Y.
CTO at an ETL platform vendor
"Royalty-Free License로 Total Excel Converter X를 우리 보고 제품에 번들했습니다. 프로젝트당 일회성 비용은 Aspose-Cells가 개발자별 구독으로 요구하던 금액의 일부에 불과했습니다. 우리 설치 프로그램이 ActiveX를 배포하고 등록하며, 우리 앱이 직접 호출하고, 최종 사용자는 우리 UI만 봅니다. 32비트 ActiveX 제한 때문에 파이프라인 재작업에 며칠이 들었지만, 우회 방법을 문의했을 때 지원팀의 응답이 빨랐습니다."
Britt N.
Independent Software Vendor
"중개인들이 사진과 병합된 셀이 포함된 XLSX 매물 목록을 업로드하면, 우리는 공개 포털용 깔끔한 PDF가 필요합니다. Total Excel Converter X는 우리가 평가했던 오픈소스 라이브러리들보다 렌더링 특이사항(병합된 셀, 고정 창, 명명된 범위)을 더 잘 처리합니다. -combine -sort name으로 워크북 10개를 한 달치 PDF 하나로 결합하는 기능은 매 릴리스 주기마다 사용하는 기능입니다."
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를 사용하여 표준 구분 기호(탭, 공백, 세미콜론, 쉼표)에서 선택하거나 -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
월말 보고는 종종 10~20개의 워크북을 하나의 산출물로 묶는 것을 의미합니다. -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
new COM("ExcelConverter.ExcelConverterX"), .NET에서 new ExcelConverterX(), Python에서 win32com.client.Dispatch, Ruby에서 WIN32OLE.new. 또는 ExcelConverterX.exe 명령줄 바이너리를 어떤 프로세스, 스케줄러, 셸 스크립트에서도 호출할 수 있습니다. ASP/PHP 웹 응답을 위한 ConvertToStream을 통한 직접 PDF 스트리밍도 가능합니다.-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는 모든 것을 하나의 버킷으로 평면화하는 대신 출력 측에 폴더 트리를 그대로 미러링합니다.무료 평가판을 다운로드하고 몇 분 만에 파일을 변환하세요.
신용카드나 이메일이 필요하지 않습니다.