XML을 Excel CSharp로 변환

XML(Extensible Markup Language)은 HTML과 유사하지만 객체 정의에 다른 태그를 사용합니다. 소프트웨어나 하드웨어 도구에 의존하지 않고 데이터를 저장하고 전송하는 데 사용됩니다. 경우에 따라 추가 처리를 위해 XML에서 Excel(XLSX 또는 XLS)로 데이터를 내보내야 할 수도 있습니다. Excel 파일은 데이터를 저장하고 구성하는 데 널리 사용됩니다. 이 기사에서는 C#을 사용하여 XML을 Excel로 변환하는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

  1. C# XML을 Excel로 변환하는 API
  2. XML을 Excel로 변환
  3. XML에서 Excel로 특정 열 내보내기

C# XML을 Excel로 변환하는 API

XML을 Excel로 변환하기 위해 Aspose.Cells for .NET API를 사용할 것입니다. Microsoft Excel 응용 프로그램 없이 프로그래밍 방식으로 Excel 자동화 기능을 수행할 수 있는 기능이 풍부하고 강력한 API입니다.

API의 Workbook 클래스는 Excel 스프레드시트를 나타냅니다. 기본 Excel 파일을 열고 저장할 수 있습니다. 또한 다른 통합 문서에서 데이터를 복사하고, 두 통합 문서를 결합하고, Excel 스프레드시트를 보호하는 방법을 제공합니다. 이 클래스를 사용하면 ImportXml() 메서드를 사용하여 XML 데이터 파일을 통합 문서로 가져올 수 있습니다. 이 클래스의 save() 메서드를 사용하면 통합 문서를 지정된 형식으로 저장할 수 있습니다.

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

PM> Install-Package Aspose.Cells

C#에서 XML을 Excel로 변환

아래 단계에 따라 XML 데이터 파일을 Excel 통합 문서로 쉽게 변환할 수 있습니다.

  1. Workbook 클래스의 인스턴스를 만듭니다.
  2. ImportXml() 메서드를 호출하여 XML 파일을 가져옵니다.
  3. Save() 메서드를 사용하여 통합 문서를 XLSX 파일로 저장합니다. 출력 파일 경로를 인수로 사용합니다.

아래에 제공된 코드 예제는 C#을 사용하여 XML을 Excel로 변환하는 방법을 보여줍니다.

// 이 코드 예제는 Excel에서 XML 데이터 파일을 가져오는 방법을 보여줍니다.
// 데이터 폴더 경로
var dataDir = @"C:\Files\";

// Workbook 클래스의 인스턴스 만들기
Workbook workbook = new Workbook();

// 통합 문서로 XML 가져오기
// XML 파일 경로, 대상 시트 이름, 대상 행 및 열을 인수로 사용합니다.
workbook.ImportXml(dataDir + "Catalog.xml", "Sheet1", 0, 0);

// 통합 문서를 XLSX로 저장
workbook.Save(dataDir + "data_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
C#에서 XML을 Excel로 변환

C#에서 XML의 특정 열을 Excel로 내보내기

테이블에 데이터를 렌더링하려면 HTML 레이아웃으로 XSLT 파일을 만들어야 합니다. XSL 파일은 XML 문서를 다른 문서 유형으로 변환하고 출력 형식을 지정하는 데 사용할 수 있는 스타일 시트입니다. Excel로 변환하는 데 필요한 열만 XSLT 파일에 포함합니다. 이를 수행하는 데 도움이 되는 XSL 파일은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:template match="/">
		<html>
			<body>
				<h2>My CD Collection</h2>
				<table border="1">
					<tr bgcolor="#9acd32">
						<th style="text-align:left">Title</th>
						<th style="text-align:left">Artist</th>
						<th style="text-align:left">Price</th>
					</tr>
					<xsl:for-each select="catalog/cd">
						<tr>
							<td>
								<xsl:value-of select="title"/>
							</td>
							<td>
								<xsl:value-of select="artist"/>
							</td>
							<td>
								<xsl:value-of select="price"/>
							</td>
						</tr>
					</xsl:for-each>
				</table>
			</body>
		</html>
	</xsl:template>
</xsl:stylesheet>

다음 단계에 따라 XML 데이터 파일의 특정 열을 Excel 통합 문서로 가져올 수 있습니다.

  1. 먼저 File.ReadAllText() 메서드를 사용하여 XML 파일을 읽습니다.
  2. 다음으로 File.ReadAllText() 메서드를 사용하여 XSLT 파일을 읽습니다.
  3. 그런 다음 XslCompiledTransform 클래스 인스턴스를 사용하여 XML 콘텐츠를 변환합니다.
  4. 그런 다음 AutoFitRows 및 AutoFitColumns와 같은 다양한 워크시트 설정을 지정합니다.
  5. Save() 메서드를 사용하여 통합 문서를 XLSX 파일로 저장합니다. 출력 파일 경로를 인수로 사용합니다.

아래에 제공된 코드 예제는 C#을 사용하여 XML에서 Excel로 특정 열을 변환하는 방법을 보여줍니다.

// 이 코드 예제에서는 Excel의 XML 데이터 파일에서 특정 열을 가져오는 방법을 보여줍니다.
// 데이터 폴더 경로
var dataDir = @"C:\Files\";

// XML 파일 콘텐츠 읽기
var XmlContent = File.ReadAllText(dataDir + "Catalog.xml");

// XSLT 파일 내용 읽기
var XsltContent = File.ReadAllText(dataDir + "CatalogXSLX.xslt");

// XML 변환 및 MemoryStream의 콘텐츠 가져오기
var xmlContent = TransformXml(XmlContent, XsltContent);

// 통합 문서 만들기
var workbook = new Workbook(xmlContent);
workbook.Worksheets[0].AutoFitRows();
workbook.Worksheets[0].AutoFitColumns();

// 통합 문서를 XLSX로 저장
workbook.Save(dataDir + "SpecificColumnsData_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
C#에서 XML을 Excel로 변환

무료 라이선스 받기

평가 제한 없이 라이브러리를 사용해 볼 수 있는 무료 임시 라이선스를 얻을 수 있습니다.

결론

이 기사에서는 XML 파일의 데이터를 C#의 Excel로 가져오는 방법을 배웠습니다. 또한 XML 파일에서 특정 열 데이터를 추출하고 프로그래밍 방식으로 Excel로 변환하는 방법도 살펴보았습니다. 또한 문서를 사용하여 .NET API용 Aspose.Cells에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오