명령줄을 통해 CSV를 DOC, PDF, HTML, TXT, XLS, DBF, XML 또는 OpenOffice 형식으로 변환
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CSV ConverterX는 독립 실행형 클라이언트-서버 애플리케이션 또는 웹 서비스로 작동합니다. 멀티스레드 엔진이 대량의 데이터를 최고 속도로 처리합니다. IIS, Docker, Citrix, Wine과 호환됩니다.
전체 기능이 포함된 30일 무료 평가판 다운로드. 데스크톱 버전을 찾고 계신가요? Total CSV Converter를 참조하세요. 더 많은 제품은 CoolUtils Server Products.
string src = @"C:\test\Source.csv";
string dest = @"C:\test\Dest.xlsx";
var cnv = new CSVConverterX();
cnv.Convert(src, dest, "-cXLSX -log c:\\test\\CSV.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\CSVConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.csv";
var outPath = Path.GetTempFileName() + ".xlsx";
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}\" -cXLSX";
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("CSVConverter.CSVConverterX")
C.Convert "c:\test\source.csv", "c:\test\dest.xlsx", "-cXLSX -log c:\test\CSV.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("CSVConverter.CSVConverterX")
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.csv", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.csv";
$dest="C:\\test\\test.xlsx";
if (file_exists($dest)) unlink($dest);
$c= new COM("CSVConverter.CSVConverterX");
$c->convert($src,$dest, "-cXLSX -log c:\\test\\CSV.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('CSVConverter.CSVConverterX')
src = "C:\\test\\test.csv"
dest = "C:\\test\\test.xlsx"
c.convert(src, dest, "-cXLSX -log c:\\test\\CSV.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("CSVConverter.CSVConverterX")
src = "C:\\test\\test.csv"
dest = "C:\\test\\test.xlsx"
c.convert(src, dest, "-cXLSX -log c:\\test\\CSV.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('CSVConverter.CSVConverterX');
c.Convert('c:\test\source.csv', 'c:\test\dest.xlsx', '-cXLSX -log c:\test\CSV.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("CSVConverter.CSVConverterX");
c.Convert("C:\\test\\source.csv", "C:\\test\\dest.xlsx", "-cXLSX");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.csv"; my $dest = "C:\\test\\test.xlsx"; my $c = CreateObject Win32::OLE 'CSVConverter.CSVConverterX'; $c->convert($src, $dest, "-cXLSX -log c:\\test\\CSV.log"); print $c->ErrorMessage if -e $dest;
"Windows 명령줄에서 CSV 파일을 XLS 파일로 변환합니다. Office를 설치할 의향도 있었지만, Total CSV Converter X가 Office 없이도 작업을 처리해 주었습니다. 훌륭한 소프트웨어입니다, 감사합니다!"
Ron Duggs
Consumer Settlements
"여러 워크시트에서 여러 CSV 파일을 추출해야 했습니다. 여러 변환기를 시도해 봤지만, 이 제품만 제대로 작동했습니다. 감사합니다!"
Gilbert L.
Independent Developer
"고객들은 매일 밤 다양한 형식의 거래 CSV 파일을 업로드합니다. 미국식 쉼표 구분, 유럽식 세미콜론 구분, 레거시 메인프레임에서 온 탭 구분 등 종류가 다양합니다. Total CSV Converter X는 모든 파일을 분석 웨어하우스에 들어가기 전에 우리 보고 스키마에 맞춰 XLSX로 정규화합니다. .NET 래퍼는 기존 파이프라인에 바로 연결되며, 우리 하드웨어에서 분당 약 300개 파일을 처리하고, CLI 실행 결과는 항상 일관됩니다."
Marek S.
Senior Backend Developer at a fintech
"변환 VM마다 Office가 필요했던 Excel-Interop 파이프라인을 교체했습니다. 이제 그 VM들은 큐 뒤에서 CSVConverterX.exe만 실행합니다. -Recurse -kfs는 출력 측에서 파트너 폴더 계층 구조를 보존하고, 사용자 지정 문자를 사용하는 -separator는 우리가 받는 모든 별난 업로드 형식을 처리합니다. Windows Server Core에서 헤드리스로 실행되며, Office도 없고, 4년간 운영하면서 어떤 문제도 없었습니다."
Aoife K.
DevOps Engineer at a logistics SaaS
"Total CSV Converter X를 Royalty-Free License로 우리 데이터 마이그레이션 제품에 번들했습니다. 프로젝트당 일회성 비용은 Aspose.Cells가 개발자별 구독으로 요구하던 금액의 일부에 불과했습니다. 우리 설치 프로그램이 ActiveX를 배포하고 등록하며, 우리 앱이 직접 호출하고, 최종 사용자는 우리 UI만 보게 됩니다. 32비트 ActiveX 제한 때문에 파이프라인 재작업에 며칠을 들였지만, 우회 방법을 문의했을 때 지원팀의 응답이 빨랐습니다."
Tomasz B.
Independent Software Vendor
Development teams that need server-side CSV conversion via ActiveX or command line
Power web-based CSV-to-PDF and CSV-to-Excel tools
Web developers integrate Total CSV ConverterX via ActiveX into ASP or PHP applications to offer CSV conversion as an online service. Users upload CSV files through a browser, the server converts them to PDF, XLS, or HTML on the fly, and delivers the result — all without any desktop software or pop-up windows.
Convert CSV data dumps from ERP systems automatically
Enterprise IT teams deploy Total CSV ConverterX on servers to process CSV exports from SAP, Oracle, and other ERP systems. Scheduled tasks convert nightly data dumps to Excel for finance teams, XML for partner integrations, or DBF for legacy systems — preserving folder structure and handling custom delimiters automatically.
Transform CSV feeds into JSON, XML, or database formats
Data engineering teams use the command line interface to build conversion steps into ETL pipelines. CSV files from APIs, IoT sensors, or log systems are converted to JSON for web services, XML for data warehouses, or SQL-ready formats for direct database import — with full control over data types, separators, and row filtering.
Serve converted reports to multiple users on a network
Total CSV ConverterX runs as a client-server application on a local network, allowing multiple users to request CSV conversions simultaneously. Finance, sales, and operations teams each get their data exports converted to the format they need — PDF for management, XLS for analysts, HTML for dashboards — from a single server installation.
Convert transactional CSV logs to archival PDF and DOC
Regulated industries convert transactional CSV logs and audit trails into PDF or DOC for long-term archival storage. Total CSV ConverterX processes large volumes of files silently on the server with no GUI interruptions, making it ideal for unattended overnight jobs and compliance-driven retention workflows.
Total CSV ConverterX에는 CSVConverterX.exe라는 콘솔 바이너리가 포함되어 있어 CSV 및 TSV 데이터를 다른 형식으로 변환해야 하는 스크립트, 예약 작업, ETL 파이프라인 또는 백엔드 서비스에서 실행할 수 있습니다. 플래그 세트는 GUI CSVConverter.exe와 일치합니다. 전체 참조는 명령줄 문서를 참조하세요. 아래의 예제는 SDK 고객들이 가장 자주 묻는 사례를 다룹니다.
가장 단순한 호출 — 하나의 소스 파일, 하나의 출력, 하나의 대상 형식. 깨끗하고 페이지가 매겨진 PDF가 누군가의 받은 편지함에 도착해야 하는 임시 보고에 유용합니다.
CSVConverterX.exe "C:\reports\sales.csv" "C:\out\sales.pdf" -cPDF
폴더 내 모든 CSV를 처리하고 해당 XLS 파일을 형제 출력 디렉터리에 작성합니다. 와일드카드 *.csv는 소스 경로의 최상위 수준에 있는 모든 항목을 가져옵니다.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS
OpenOffice Calc를 대상으로 하려면 -cXLS를 -cODS로 바꾸거나, 레거시 데이터베이스에 공급할 때 -cDBF로 바꾸세요.
보고서 내보내기는 종종 날짜별 트리로 도착합니다: 지역당 하나의 폴더, 일당 하나의 하위 폴더. -Recurse는 하위 디렉터리를 탐색합니다. -kfs는 모든 것을 하나의 버킷에 평평하게 만드는 대신 출력 측에서 동일한 트리를 다시 만듭니다.
CSVConverterX.exe "C:\reports\2026\*.csv" "C:\out\2026\" -cPDF -Recurse -kfs
독일어, 프랑스어 및 기타 로케일의 Excel 내보내기는 쉼표가 소수 구분 기호이기 때문에 쉼표 대신 세미콜론을 사용합니다. -comma는 플래그 이름과 관계없이 입력 파일의 필드 구분 기호를 설정합니다.
CSVConverterX.exe "C:\reports\de\*.csv" "C:\out\" -cXLS -comma ";"
TSV 파일, SQL 클라이언트의 내보내기, 로그 덤프는 종종 탭이나 파이프를 필드 구분 기호로 사용합니다. 리터럴 문자를 -comma에 전달하세요 — 탭의 경우 \t를 사용합니다.
CSVConverterX.exe "C:\data\*.tsv" "C:\out\" -cXLS -comma "\t"
CSVConverterX.exe "C:\data\*.csv" "C:\out\" -cXLS -comma "|"
많은 실제 CSV 내보내기는 실제 테이블이 시작되기 전에 몇 줄의 메타데이터(보고서 제목, 날짜, 구분 기호 힌트)로 시작합니다. -skip은 해당 서두 행을 삭제합니다. -fh는 다음 행이 헤더라고 변환기에 알리므로 열 이름이 출력으로 전파됩니다.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -skip 3 -fh
일부 파이프라인은 표준 큰따옴표 대신 작은따옴표나 백틱으로 텍스트 필드를 감쌉니다. -quote는 파서가 입력에서 문자열 구분 기호로 처리하는 문자를 설정합니다.
CSVConverterX.exe "C:\exports\*.csv" "C:\out\" -cXML -quote "'"
XML은 여전히 많은 B2B 통합 및 ERP 가져오기를 위한 공통 언어입니다. 변환기는 CSV 행당 하나의 XML 요소를 작성하며, -fh가 설정되면 헤더 이름을 태그로 사용합니다.
CSVConverterX.exe "C:\reports\orders.csv" "C:\out\orders.xml" -cXML -fh
워커가 큐 파일을 작성하고 변환기가 이를 사용하는 경우, 명령줄에 모든 경로를 인코딩하고 싶지 않을 것입니다. -list는 텍스트 파일에서 파일 마스크(한 줄에 하나)를 읽습니다 — 다른 스크립트가 조립한 야간 일괄 처리에 이상적입니다.
CSVConverterX.exe -list "C:\queues\nightly.txt" "C:\out\" -cPDF
CSVConverterX.exe가 서비스 또는 예약 작업으로 실행되면, 무슨 일이 일어났는지 알 수 있는 유일한 방법은 로그입니다. -verbosity detail은 오류만이 아닌 파일당 한 줄을 작성합니다. -log는 모든 메시지를 파일로 리디렉션하므로 콘솔이 조용히 유지됩니다.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -log "C:\logs\csvconv.log" -verbosity detail
변환이 성공한 후 소스 파일을 삭제해야 하는 경우 -do를 추가하세요 — 큐가 비워지면서 비워지는 스풀 폴더 워크플로우에 편리합니다.
무료 평가판을 다운로드하고 몇 분 만에 파일을 변환하세요.
신용카드나 이메일이 필요하지 않습니다.