! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

C# 및 VB.NET을 사용하여 Excel XLSX에서 텍스트를 열로 분할하는 방법 > 온라인 스터디

본문 바로가기

Spread.NET

온라인 스터디

9. 수식 C# 및 VB.NET을 사용하여 Excel XLSX에서 텍스트를 열로 분할하는 방법

페이지 정보

작성자 GrapeCity 작성일 2023-04-17 16:57 조회 383회 댓글 0건

본문

텍스트를 열로 분할하는 것은 주목을 크게 받지 못하는 Excel의 유용한 기능입니다. 이름에서 알 수 있듯이 사용자는 이 기능을 통해 쉼표, 공백 또는 다른 구분 기호로 텍스트를 여러 열로 분할할 수 있습니다.

일반적으로 모든 정보가 하나의 열로 내보내지는 외부 소스의 데이터를 분석할 때 사용됩니다. 예를 들어 유효하지 않은 날짜 형식을 유효한 형식으로 변환, 이름 열을
 이름   열로 분할, URL에서 루트 도메인 가져오기 등, 나열할 수 있는 목록은 수없이 많습니다.

그러나 Excel과 같은 독립 실행형 스프레드시트 소프트웨어에 의존하는 경우 데이터 변경 사항이 모니터링되지 않고 업데이트되지 않아 오래되었거나 잘못된 분석이 발생할 수 있습니다.

많은 개발자가 스프레드시트 컴포넌트, API 및 라이브러리를 사용하여 가져온 데이터를 능동적으로 구성하고 사용자가 런타임 중에 응용 프로그램에서 데이터를 분할할 수 있는 대화 상자를 제공하므로 격리된 Excel 파일이 필요하지 않습니다.

이 문서에서는 세계 판매 1위를 자랑하는
 GrapeCity의 Spread.NET 스프레드시트 컴포넌트를 사용하여 프로그래밍 방식으로 C# 및 VB.NET을 이용해 텍스트를 열로 분할하는 방법, 최종 사용자를 위해 런타임 중에 Excel과 유사한 열 마법사를 호출하는 방법 및 Spread의 코드가 필요 없는 디자이너에 있는 텍스트를 열로 변환 기능을 구현하는 방법에 대해 설명합니다.


이 문서의 내용은 하단과 같습니다.

  • C# 또는 VB.NET을 사용하여 프로그래밍 방식으로 Excel 데이터를 열로 분할
  • 최종 사용자가 .NET 앱 내에서 텍스트를 열로 분할하도록 런타임 Excel과 유사한 대화 상자 호출
  • 코드가 필요 없는 디자이너를 사용하여 텍스트를 열로 분할


C# 또는 VB.NET을 사용하여 프로그래밍 방식으로 Excel 데이터를 열로 분할합니다.

Spread.NET을 사용하는 .NET 개발자는 최종 사용자가 일반적으로 Excel에서 수행하는 많은 수동 프로세스를 프로그래밍 방식으로 자동화할 수 있는 이점이 있습니다.

프로그래밍 방식으로
 TextToColumns 함수를 호출하거나 Spreads의 기본 제공 TEXTSPLIT 함수를 사용하여 사용자의 데이터 프로세싱을 간소화할 수 있습니다. 이렇게 하면 시간이 절약될 뿐만 아니라 데이터가 매번 일관되게 구성되고 구조화됩니다. 또한 이러한 작업을 수행하는 코드를 작성하면 중요한 데이터에 제어 및 보안 계층을 추가하여 사람이 실수할 위험을 줄일 수 있습니다.

하단의 코드에서는 TextToColumns 메서드를 사용하여 적합한 구분 기호 또는 열 너비 옵션을 통해 별도의 열로 텍스트를 분할하는 방법을 확인할 수 있습니다.

C#:

 private void OnTextToColumnByCodeClick(object sender, EventArgs e)
        {
            var sheet = _fpSpread.AsWorkbook().ActiveSheet;
            var selection = sheet.Selection;
            sheet.Cells[selection.Row, selection.Column, selection.Row2, selection.Column2]
                .TextToColumns("$B$1", TextParsingType.Delimited, TextQualifier.DoubleQuote, false, false, false, true);
        }

VB.NET:

Private Sub OnTextToColumnByCodeClick(ByVal sender As Object, ByVal e As EventArgs)
    Dim sheet = _fpSpread.AsWorkbook().ActiveSheet
    Dim selection = sheet.Selection
    sheet.Cells(selection.Row, selection.Column, selection.Row2, selection.Column2).TextToColumns("$B$1", TextParsingType.Delimited, TextQualifier.DoubleQuote, False, False, False, True)
End Sub

자세한 내용은 Spread.NET WinForms Demo Explorer를 다운로드하고 워크시트의 텍스트를 열로 변환 데모를 확인해 주세요!

C# 코드에서 Spread.NET의 텍스트를 열로 변환 메서드 사용

아래에서 C#/VB.NET을 사용해 셀에서 TEXTSPLIT 함수인 수식을 배치하는 방법을 볼 수 있습니다. 이 기능은 텍스트를 열로 변환 메서드를 사용하여 행에서 작업하고 사용자 정의 구분 기호를 지정하여 텍스트를 분할하는 것과 같습니다.

C#:

IWorkbook workbook = fpSpread1.AsWorkbook();
workbook.WorkbookSet.CalculationEngine.CalcFeatures = CalcFeatures.All;

fpSpread1.ActiveSheet.Cells["A1"].Value = "Data";
fpSpread1.ActiveSheet.Cells["A2"].Value = "Dakota Lennon Sanchez";
fpSpread1.ActiveSheet.Cells["A3"].Value = "To be or not to be";
fpSpread1.ActiveSheet.Cells["A4"].Value = "1,2,3;4,5,6";
            
fpSpread1.ActiveSheet.Cells["C1"].Value = "Formulas";
fpSpread1.ActiveSheet.Cells["C2"].Formula = "TEXTSPLIT(A2,\" \")";
fpSpread1.ActiveSheet.Cells["C3"].Formula = "TEXTSPLIT(A3,\" \")";
fpSpread1.ActiveSheet.Cells["C4"].Formula = "TEXTSPLIT(A4,{\",\",\";\"})";

VB.NET:

Dim workbook As IWorkbook = fpSpread1.AsWorkbook()
workbook.WorkbookSet.CalculationEngine.CalcFeatures = CalcFeatures.All

fpSpread1.ActiveSheet.Cells("A1").Value = "Data"
fpSpread1.ActiveSheet.Cells("A2").Value = "Dakota Lennon Sanchez"
fpSpread1.ActiveSheet.Cells("A3").Value = "To be or not to be"
fpSpread1.ActiveSheet.Cells("A4").Value = "1,2,3;4,5,6"
    
fpSpread1.ActiveSheet.Cells("C1").Value = "Formulas"
fpSpread1.ActiveSheet.Cells("C2").Formula = "TEXTSPLIT(A2,"" "")"
fpSpread1.ActiveSheet.Cells("C3").Formula = "TEXTSPLIT(A3,"" "")"
fpSpread1.ActiveSheet.Cells("C4").Formula = "TEXTSPLIT(A4,{"","","";""})"

.NET 응용 프로그램에서 열별로 텍스트 분할

Spread.NET WinForms Demo Explorer를 다운로드하여 계산의 텍스트 및 배열 함수 데모를 확인하고 TEXTSPLIT 함수에 대해 자세히 알아보세요.

Spread.NET Demo Explorer를 확인하여 TEXTSPLIT 함수에 대해 자세히 알아보십시오.


.NET 앱 내에서 최종 사용자를 위해 Runtime Excel과 유사한 대화 상자 호출, 텍스트를 열로 분할합니다. 

v16 릴리스의 새로운 기능인 Spread.NET은 이제 강력한 기본 Excel과 유사한 텍스트를 열로 변환 마법사 대화 상자를 제공합니다. 이 대화 상자는 프로그래밍 방식으로 호출할 수 있으며 최종 사용자에게 .NET 앱 런타임 동안 대화형 UI를 제공하므로 구분 기호를 사용하여 하나의 셀 또는 열의 텍스트를 여러 열로 구문 분석할 수 있습니다. 

BuiltInDialogs 클래스는 이 대화 상자를 호출하도록 TextToColumns 메서드를 제공합니다. 사용자가 데이터를 구문 분석하고 런타임 동안 원하는 형식으로 수동 변환할 수 있도록 해 줍니다.

아래는 텍스트를 열로 변환 마법사를 호출하는 방법을 보여주는 코드 조각입니다.

C#:

private void OnTextToColumnMenuItemClick(object sender, EventArgs e)
        {
            var textToColumnDialog = FarPoint.Win.Spread.Dialogs.BuiltInDialogs.TextToColumns(_fpSpread);
            if (textToColumnDialog != null)
                textToColumnDialog.Show(_fpSpread);
        }

VB.NET:

Private Sub OnTextToColumnMenuItemClick(ByVal sender As Object, ByVal e As EventArgs)
    Dim textToColumnDialog = FarPoint.Win.Spread.Dialogs.BuiltInDialogs.TextToColumns(_fpSpread)
    If textToColumnDialog IsNot Nothing Then textToColumnDialog.Show(_fpSpread)
End Sub

자세한 내용은 Spread.NET WinForms Demo Explorer를 다운로드하고 워크시트의 텍스트를 열로 변환 데모를 확인해 주세요!

개발 및 .NET 앱 런타임 중에 TextToColumns 마법사 대화 상자 호출


Spread Designer를 사용하여 텍스트를 열로 분할

Spread.NET은 개발자가 그래픽 Excel과 유사한 사용자 인터페이스를 사용하여 시각적으로 Spread 컴포넌트를 디자인할 수 있도록 Designer를 제공하며 사용자가 응용 프로그램에서 스프레드시트를 수정할 수 있도록 런타임 동안 배포를 지원하기도 합니다. Spread Designer에는 친숙한 Excel과 유사한 모양 및 유사한 느낌을 가진 많은 고급 기능이 있습니다. 이 Designer는 프로그래밍 방식으로 Spread 컴포넌트를 만들고 수정할 필요가 없어 개발자의 시간을 절약합니다.

Spread Designer는 데이터 탭의 데이터 도구 그룹에서 텍스트를 열로 변환 리본 버튼을 제공합니다.

Spread.NET의 Designer Ribbon - 데이터 탭

아래 GIF에서 Spread Designer는 WinForms .NET 앱에서 디자인 타임 동안 Visual Studio 2022를 통해 액세스됩니다. 
텍스트를 열로 변환 마법사를 사용하여 Spread Designer에 적용된 변경 사항은 앱의 런타임 중에 확인됩니다.

.NET 응용 프로그램 개발 중에 TextToColumns 마법사 사용


GrapeCity 스프레드시트 컴포넌트

이 문서는 GrapeCity Spread.NET 스프레드시트 컴포넌트의 전체 기능에 대한 빙산의 일각에 불과합니다. 무료 30일 평가판을 다운로드하고 문서를 검토하여 사용 가능한 많은 기능 중 일부를 확인하세요!

 
데모 탐색기를 다운로드하여 실제 기능을 확인하고 샘플 코드와 상호 작용해 보십시오! 스프레드시트 컴포넌트를 응용 프로그램에 통합하면 사용자의 환경을 사용자 정의하고 외부 프로그램을 참조하지 않고 익숙한 스프레드시트 기능을 제공할 수 있습니다.

Spread.NET 및 v16 릴리스에 추가된 새 기능을 자세히 알아보려면
 릴리스 블로그를 확인해 주세요.



 

지금 바로 Spread.NET을 다운로드하여 직접 테스트해 보세요!

spnet.png


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.