푸터 콘텐츠로 바로가기
.NET 도움말

C# DataTable (개발자를 위한 작동 방식 튜토리얼)

C# DataTables에 대한 튜토리얼에 오신 것을 환영합니다. .NET framework에서 제공하는 DataTable은(는) 데이터를 표 형식으로 저장, 조작 및 쿼리할 수 있는 강력한 데이터 구조입니다. 이 튜토리얼에서는 C#에서 DataTables을(를) 생성하고 수정하는 것, 열과 행을 추가하는 것, 데이터를 쿼리하는 것, DataView을 사용하여 필터링 및 정렬하는 기본 사항을 살펴보겠습니다.

이 튜토리얼을 마치면 C# 응용 프로그램에서 DataTables을(를) 사용하는 방법을 잘 이해하게 될 것입니다. 시작해봅시다!

DataTable 생성하기

C#에서 DataTable을(를) 생성하려면 먼저 System.Data 네임스페이스를 가져와야 합니다. 이 네임스페이스에는 데이터 조작과 관련된 다양한 클래스 및 메서드가 포함되어 있으며, DataTable 클래스도 포함됩니다.

using System.Data;
using System.Data;
Imports System.Data
$vbLabelText   $csharpLabel

다음으로, DataTable 클래스의 인스턴스를 생성할 수 있습니다. 이 작업을 수행하는 가장 간단한 방법은 기본 생성자를 사용하는 것입니다:

DataTable dt = new DataTable();
DataTable dt = new DataTable();
Dim dt As New DataTable()
$vbLabelText   $csharpLabel

문자열 매개변수를 생성자에 전달하여 특정 이름을 가진 DataTable을(를) 생성할 수도 있습니다:

DataTable dt = new DataTable("Employees");
DataTable dt = new DataTable("Employees");
Dim dt As New DataTable("Employees")
$vbLabelText   $csharpLabel

DataTable 메서드

열 추가하기

DataTable을 생성한 후, 열을 추가할 수 있습니다. 열을 추가하려면 먼저 DataColumn 클래스의 인스턴스를 생성하고 ColumnNameDataType 같은 속성을 설정해야 합니다.

DataTable에 세 개의 열을 추가하는 방법의 예를 보여 드립니다:

DataColumn idColumn = new DataColumn("Id", typeof(int));
DataColumn nameColumn = new DataColumn("Name", typeof(string));
DataColumn ageColumn = new DataColumn("Age", typeof(int));

dt.Columns.Add(idColumn);
dt.Columns.Add(nameColumn);
dt.Columns.Add(ageColumn);
DataColumn idColumn = new DataColumn("Id", typeof(int));
DataColumn nameColumn = new DataColumn("Name", typeof(string));
DataColumn ageColumn = new DataColumn("Age", typeof(int));

dt.Columns.Add(idColumn);
dt.Columns.Add(nameColumn);
dt.Columns.Add(ageColumn);
Dim idColumn As New DataColumn("Id", GetType(Integer))
Dim nameColumn As New DataColumn("Name", GetType(String))
Dim ageColumn As New DataColumn("Age", GetType(Integer))

dt.Columns.Add(idColumn)
dt.Columns.Add(nameColumn)
dt.Columns.Add(ageColumn)
$vbLabelText   $csharpLabel

데이터 테이블에 Id 열과 같은 여러 열을 추가할 수 있습니다.

데이터 행 추가하기

열의 정의가 끝나면 DataTable에 대한 행을 추가하기 시작할 수 있습니다. 행을 추가하려면 DataRow 클래스의 새 인스턴스를 생성하고 필드를 필요한 데이터로 채워야 합니다.

다음은 DataTable에 새 행을 추가하는 방법의 예입니다:

DataRow newRow = dt.NewRow();

newRow["Id"] = 1;
newRow["Name"] = "John Doe";
newRow["Age"] = 30;

dt.Rows.Add(newRow);
DataRow newRow = dt.NewRow();

newRow["Id"] = 1;
newRow["Name"] = "John Doe";
newRow["Age"] = 30;

dt.Rows.Add(newRow);
Dim newRow As DataRow = dt.NewRow()

newRow("Id") = 1
newRow("Name") = "John Doe"
newRow("Age") = 30

dt.Rows.Add(newRow)
$vbLabelText   $csharpLabel

반복문에서 동일한 메서드를 사용하여 여러 DataTable 행을 한 번에 추가할 수도 있습니다.

for (int i = 1; i <= 3; i++)
{
    DataRow row = dt.NewRow();
    row["Id"] = i;
    row["Name"] = "Employee " + i;
    row["Age"] = 20 + i;
    dt.Rows.Add(row);
}
for (int i = 1; i <= 3; i++)
{
    DataRow row = dt.NewRow();
    row["Id"] = i;
    row["Name"] = "Employee " + i;
    row["Age"] = 20 + i;
    dt.Rows.Add(row);
}
For i As Integer = 1 To 3
	Dim row As DataRow = dt.NewRow()
	row("Id") = i
	row("Name") = "Employee " & i
	row("Age") = 20 + i
	dt.Rows.Add(row)
Next i
$vbLabelText   $csharpLabel

위의 코드에서는 세 개의 데이터 행을 추가했습니다.

데이터 접근

DataTable에 저장된 데이터는 RowsColumns 컬렉션을 반복하여 액세스할 수 있습니다. 콘솔에서 DataTable의 내용을 표시하는 방법의 예는 다음과 같습니다:

foreach (DataRow row in dt.Rows)
{
    foreach (DataColumn col in dt.Columns)
    {
        Console.Write(row[col] + "\t");
    }
    Console.WriteLine();
}
foreach (DataRow row in dt.Rows)
{
    foreach (DataColumn col in dt.Columns)
    {
        Console.Write(row[col] + "\t");
    }
    Console.WriteLine();
}
Imports Microsoft.VisualBasic

For Each row As DataRow In dt.Rows
	For Each col As DataColumn In dt.Columns
		Console.Write(row(col) & vbTab)
	Next col
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

데이터 수정하기

DataTable의 데이터를 수정하려면 DataRow 개체의 값을 업데이트하면 됩니다. 특정 직원의 나이를 업데이트하는 방법의 예를 보여 드립니다:

var primaryKey = 1;
DataRow employeeRow = dt.Rows.Find(primaryKey); // Find the row with the specified primary key
if (employeeRow != null)
{
    employeeRow["Age"] = 35;
}
var primaryKey = 1;
DataRow employeeRow = dt.Rows.Find(primaryKey); // Find the row with the specified primary key
if (employeeRow != null)
{
    employeeRow["Age"] = 35;
}
Dim primaryKey = 1
Dim employeeRow As DataRow = dt.Rows.Find(primaryKey) ' Find the row with the specified primary key
If employeeRow IsNot Nothing Then
	employeeRow("Age") = 35
End If
$vbLabelText   $csharpLabel

행 삭제하기

DataTable에서 행을 삭제하려면 DataRow 개체에서 Delete 메서드를 호출해야 합니다:

DataRow employeeRow = dt.Rows.Find(1);
if (employeeRow != null)
{
    employeeRow.Delete();
    dt.AcceptChanges(); // Commit the deletion
}
DataRow employeeRow = dt.Rows.Find(1);
if (employeeRow != null)
{
    employeeRow.Delete();
    dt.AcceptChanges(); // Commit the deletion
}
Dim employeeRow As DataRow = dt.Rows.Find(1)
If employeeRow IsNot Nothing Then
	employeeRow.Delete()
	dt.AcceptChanges() ' Commit the deletion
End If
$vbLabelText   $csharpLabel

DeleteDataRow에 호출하면 해당 행이 삭제될 것으로 표시됩니다. 삭제된 행을 영구적으로 제거하려면 DataTable에서 AcceptChanges 메서드를 호출해야 합니다.

다중 테이블 관리

일부 경우에는 여러 데이터 테이블을 동시에 작업해야 할 수 있습니다. 여러 DataTable 객체를 저장하고 그들 간의 관계를 관리하기 위해 데이터셋 변수를 만들 수 있습니다.

LINQ로 데이터 질의하기

LINQ (Language Integrated Query)는 DataTable 개체를 포함하여 다양한 데이터 소스에서 데이터를 쿼리할 수 있는 C#의 강력한 기능입니다. DataTables과 LINQ를 함께 사용하려면 System.Linq 네임스페이스를 가져와야 합니다. LINQ를 사용하여 25세 이상 직원들을 필터링하는 방법의 예를 보여 드립니다:

using System.Linq;

var filteredRows = dt.AsEnumerable().Where(row => row.Field<int>("Age") > 25);

foreach (DataRow row in filteredRows)
{
    Console.WriteLine(row["Name"]);
}
using System.Linq;

var filteredRows = dt.AsEnumerable().Where(row => row.Field<int>("Age") > 25);

foreach (DataRow row in filteredRows)
{
    Console.WriteLine(row["Name"]);
}
Imports System.Linq

Private filteredRows = dt.AsEnumerable().Where(Function(row) row.Field(Of Integer)("Age") > 25)

For Each row As DataRow In filteredRows
	Console.WriteLine(row("Name"))
Next row
$vbLabelText   $csharpLabel

DataView: 정렬 및 필터링

System.Data 네임스페이스에서 제공하는 또 다른 유용한 클래스인 DataView을 사용하면 DataTable의 정렬되거나 필터링된 뷰를 생성할 수 있습니다. 이는 DataGridView 같은 UI 컨트롤에서 데이터를 표시해야 할 때 특히 유용합니다. 또한, 데이터 바인딩을 통해 DataTable에서 DataGridView 컨트롤로 데이터를 추가할 수도 있습니다.

직원의 나이에 따라 필터링하고 정렬할 DataView를 만드는 예시입니다:

DataView view = new DataView(dt);

// Filter employees older than 25
view.RowFilter = "Age > 25";

// Sort by age in descending order
view.Sort = "Age DESC";

// Display the filtered and sorted data
foreach (DataRowView rowView in view)
{
    DataRow row = rowView.Row;
    Console.WriteLine(row["Name"]);
}
DataView view = new DataView(dt);

// Filter employees older than 25
view.RowFilter = "Age > 25";

// Sort by age in descending order
view.Sort = "Age DESC";

// Display the filtered and sorted data
foreach (DataRowView rowView in view)
{
    DataRow row = rowView.Row;
    Console.WriteLine(row["Name"]);
}
Dim view As New DataView(dt)

' Filter employees older than 25
view.RowFilter = "Age > 25"

' Sort by age in descending order
view.Sort = "Age DESC"

' Display the filtered and sorted data
For Each rowView As DataRowView In view
	Dim row As DataRow = rowView.Row
	Console.WriteLine(row("Name"))
Next rowView
$vbLabelText   $csharpLabel

IronPDF를 사용하여 DataTable을 PDF로 내보내기

IronPDF는 사용자 친화적인 PDF 조작 기능이 풍부한 강력한 HTML to PDF 변환기이며, 개발자가 .NET 애플리케이션 내에서 PDF 문서를 생성, 읽기 및 편집할 수 있게 해줍니다.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

이 섹션에서는 IronPDF를 사용하여 DataTable을 PDF 문서로 내보내는 방법을 배울 것입니다.

먼저 IronPDF NuGet 패키지를 설치해야 합니다. Visual Studio에서 패키지 관리자 콘솔을 열고 다음 명령어를 실행하세요:

Install-Package IronPdf

패키지가 설치되면 코드에서 필요한 네임스페이스를 가져오는 것으로 시작할 수 있습니다:

using IronPdf;
using System.IO;
using IronPdf;
using System.IO;
Imports IronPdf
Imports System.IO
$vbLabelText   $csharpLabel

다음으로, DataTable을 HTML 테이블로 변환하는 도우미 메서드를 만드세요. IronPDF는 HTML을 사용하여 PDF 문서의 콘텐츠를 렌더링합니다:

public static string ConvertDataTableToHtml(DataTable dt)
{
    StringBuilder htmlBuilder = new StringBuilder();

    htmlBuilder.AppendLine("<table border='1' cellpadding='5' cellspacing='0'>");
    htmlBuilder.AppendLine("<tr>");

    // Add column headers
    foreach (DataColumn col in dt.Columns)
    {
        htmlBuilder.AppendFormat("<th>{0}</th>", col.ColumnName);
    }

    htmlBuilder.AppendLine("</tr>");

    // Add rows
    foreach (DataRow row in dt.Rows)
    {
        htmlBuilder.AppendLine("<tr>");

        foreach (DataColumn col in dt.Columns)
        {
            htmlBuilder.AppendFormat("<td>{0}</td>", row[col]);
        }

        htmlBuilder.AppendLine("</tr>");
    }

    htmlBuilder.AppendLine("</table>");

    return htmlBuilder.ToString();
}
public static string ConvertDataTableToHtml(DataTable dt)
{
    StringBuilder htmlBuilder = new StringBuilder();

    htmlBuilder.AppendLine("<table border='1' cellpadding='5' cellspacing='0'>");
    htmlBuilder.AppendLine("<tr>");

    // Add column headers
    foreach (DataColumn col in dt.Columns)
    {
        htmlBuilder.AppendFormat("<th>{0}</th>", col.ColumnName);
    }

    htmlBuilder.AppendLine("</tr>");

    // Add rows
    foreach (DataRow row in dt.Rows)
    {
        htmlBuilder.AppendLine("<tr>");

        foreach (DataColumn col in dt.Columns)
        {
            htmlBuilder.AppendFormat("<td>{0}</td>", row[col]);
        }

        htmlBuilder.AppendLine("</tr>");
    }

    htmlBuilder.AppendLine("</table>");

    return htmlBuilder.ToString();
}
Public Shared Function ConvertDataTableToHtml(ByVal dt As DataTable) As String
	Dim htmlBuilder As New StringBuilder()

	htmlBuilder.AppendLine("<table border='1' cellpadding='5' cellspacing='0'>")
	htmlBuilder.AppendLine("<tr>")

	' Add column headers
	For Each col As DataColumn In dt.Columns
		htmlBuilder.AppendFormat("<th>{0}</th>", col.ColumnName)
	Next col

	htmlBuilder.AppendLine("</tr>")

	' Add rows
	For Each row As DataRow In dt.Rows
		htmlBuilder.AppendLine("<tr>")

		For Each col As DataColumn In dt.Columns
			htmlBuilder.AppendFormat("<td>{0}</td>", row(col))
		Next col

		htmlBuilder.AppendLine("</tr>")
	Next row

	htmlBuilder.AppendLine("</table>")

	Return htmlBuilder.ToString()
End Function
$vbLabelText   $csharpLabel

이제 IronPDF가 제공하는 HtmlToPdf class을 사용하여 HTML 테이블을 렌더링하고 이를 PDF 파일로 저장할 수 있습니다:

public static void ExportDataTableToPdf(DataTable dt, string outputPath)
{
    // Convert DataTable to HTML
    string htmlTable = ConvertDataTableToHtml(dt);

    // Create a new HTML to PDF renderer
    var renderer = new ChromePdfRenderer();

    // Set global styles for the table
    renderer.RenderingOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Print;
    renderer.RenderingOptions.FirstPageNumber = 1;

    // Render the HTML table as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlTable);

    // Save the PDF file
    pdf.SaveAs(outputPath);
}
public static void ExportDataTableToPdf(DataTable dt, string outputPath)
{
    // Convert DataTable to HTML
    string htmlTable = ConvertDataTableToHtml(dt);

    // Create a new HTML to PDF renderer
    var renderer = new ChromePdfRenderer();

    // Set global styles for the table
    renderer.RenderingOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Print;
    renderer.RenderingOptions.FirstPageNumber = 1;

    // Render the HTML table as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlTable);

    // Save the PDF file
    pdf.SaveAs(outputPath);
}
Public Shared Sub ExportDataTableToPdf(ByVal dt As DataTable, ByVal outputPath As String)
	' Convert DataTable to HTML
	Dim htmlTable As String = ConvertDataTableToHtml(dt)

	' Create a new HTML to PDF renderer
	Dim renderer = New ChromePdfRenderer()

	' Set global styles for the table
	renderer.RenderingOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Print
	renderer.RenderingOptions.FirstPageNumber = 1

	' Render the HTML table as a PDF document
	Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlTable)

	' Save the PDF file
	pdf.SaveAs(outputPath)
End Sub
$vbLabelText   $csharpLabel

ExportDataTableToPdf 메서드는 HTML 테이블에서 DataTable을 생성하고 이를 PDF 파일로 저장합니다.

마지막으로 적절한 매개변수를 사용하여 DataTable을(를) 내보내기 위해 ExportDataTableToPdf 메서드를 호출하세요:

string pdfOutputPath = "Employees.pdf";
ExportDataTableToPdf(dt, pdfOutputPath);
string pdfOutputPath = "Employees.pdf";
ExportDataTableToPdf(dt, pdfOutputPath);
Dim pdfOutputPath As String = "Employees.pdf"
ExportDataTableToPdf(dt, pdfOutputPath)
$vbLabelText   $csharpLabel

이렇게 하면 탭 형식으로 된 DataTable의 내용이 포함된 "Employees.pdf"라는 이름의 PDF 파일이 생성됩니다.

C# DataTable (개발자를 위한 작동 방식 튜토리얼) - 그림 1

결론

이 튜토리얼에서는 C#에서 DataTables의 기본 사항과 IronPDF 라이브러리를 사용하여 DataTable을 PDF 문서로 내보내는 방법을 배웠습니다. 기본 키 열, 데이터셋 변수 및 필터링과 정렬을 위한 DataView를 포함함으로써 데이터에 대해 더 큰 제어와 유연성을 가질 수 있습니다. 이제 C# 애플리케이션에서 전문적인 모양의 PDF 보고서를 생성하기 위해 DataTables와 IronPDF를 함께 사용하는 방법에 대한 좋은 이해를 가지고 있어야 합니다.

IronPDF는 기능을 무료로 체험할 수 있는 체험판을 제공하며 구매를 결정하기 전에 능력을 탐색할 수 있습니다.

자주 묻는 질문

C#에서 DataTable이란?

.NET Framework에서 DataTable은 개발자가 데이터 저장, 조작, 쿼리를 표 형식으로 다룰 수 있는 다재다능한 데이터 구조로, 응용 프로그램에서 구조화된 데이터를 처리하는 데 필수적입니다.

C#에서 DataTable을 PDF 문서로 변환할 수 있는 방법은 무엇인가요?

C#에서 DataTable을 PDF 문서로 변환하려면 먼저 DataTable을 HTML 테이블로 변환해야 합니다. 그런 다음 IronPDF의 HtmlToPdf 클래스를 사용하여 해당 HTML을 PDF 문서로 렌더링하고 생성된 파일을 저장합니다.

C#에서 DataTable을 어떻게 생성하나요?

C#에서 DataTable을 생성하려면 System.Data 네임스페이스를 가져오고 DataTable 클래스를 생성자의 특정 이름을 선택적으로 제공하여 인스턴스화합니다.

DataTable에 열을 추가하는 단계는 무엇인가요?

DataTable에 열을 추가하려면 DataColumn 클래스의 인스턴스를 생성하고, ColumnName 및 DataType과 같은 속성을 구성한 다음, DataTable의 Columns 컬렉션에 추가합니다.

보고 목적을 위해 DataTable에서 데이터를 PDF로 내보내는 방법은 무엇인가요?

Table을 HTML 테이블 형식으로 변환한 후 IronPDF를 사용하여 이 HTML을 PDF 문서로 렌더링하여 전문 보고서를 생성할 수 있습니다.

C#에서 DataTable에 행을 추가하는 방법은 무엇인가요?

C#에서 DataTable에 행을 추가하려면 새로운 DataRow 인스턴스를 만들고 데이터로 채운 다음 DataTable의 Rows 컬렉션에 추가합니다. 이 프로세스는 루프를 사용하여 여러 행에도 반복할 수 있습니다.

LINQ란 무엇이며 DataTable과 함께 어떻게 사용될 수 있나요?

LINQ (Language Integrated Query)는 C#에서 필터링, 정렬 및 데이터 조작을 다양한 소스에서 포함하여 DataTables에서 지원하여 데이터 작업을 단순화하는 강력한 쿼리 도구입니다.

DataView를 사용하여 DataTable을 필터링 및 정렬하는 방법은 무엇인가요?

DataView는 DataTable의 필터링되거나 정렬된 보기 생성을 위한 편리한 방법입니다. RowFilter 및 Sort 속성을 설정하여 데이터가 표시되는 방식을 제어할 수 있으며, 이는 UI 구성 요소에서 특히 유용합니다.

DataTables를 PDF로 내보내기 위해 필요한 라이브러리를 어떻게 설치하나요?

DataTables를 PDF로 내보내기 위해 필요한 IronPDF 라이브러리를 설치하려면 Visual Studio의 패키지 관리자 콘솔을 사용하고 다음 명령을 실행하세요: Install-Package IronPdf.

제이콥 멜러, 팀 아이언 최고기술책임자
최고기술책임자

제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다.

제이콥은 맨체스터 대학교에서 토목공학 학사 학위(BEng)를 최우등으로 취득했습니다(1998~2001). 1999년 런던에서 첫 소프트웨어 회사를 설립하고 2005년 첫 .NET 컴포넌트를 개발한 후, 마이크로소프트 생태계 전반에 걸쳐 복잡한 문제를 해결하는 데 전문성을 발휘해 왔습니다.

그의 대표 제품인 IronPDF 및 Iron Suite .NET 라이브러리는 전 세계적으로 3천만 건 이상의 NuGet 설치 수를 기록했으며, 그의 핵심 코드는 전 세계 개발자들이 사용하는 다양한 도구에 지속적으로 활용되고 있습니다. 25년의 실무 경험과 41년의 코딩 전문성을 바탕으로, 제이콥은 차세대 기술 리더들을 양성하는 동시에 기업 수준의 C#, Java, Python PDF 기술 혁신을 주도하는 데 주력하고 있습니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해