반응형
CSV(Comma-Separated Values) 파일은 데이터를 저장하고 전송하기 위해 널리 사용되는 형식입니다. WPF를 활용하여 CSV 파일을 생성하는 방법을 알아보겠습니다.
CSV 파일이란?
CSV 파일은 각 데이터가 쉼표(,)로 구분된 형식을 가지고 있는 파일로, 스프레드시트 프로그램에서 열 수 있으며, 텍스트 편집기로도 읽을 수 있습니다.
사용할 도구
- Visual Studio
- C# 언어
- WPF(Windows Presentation Foundation)
예제 코드
먼저, 간단한 WPF 애플리케이션을 만들고 버튼 클릭 시 CSV 파일을 생성하는 코드를 작성해보겠습니다.
XAML (MainWindow.xaml)
<Window x:Class="CSVGenerator.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CSV Generator" Height="250" Width="350">
<Grid>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Button x:Name="generateCSVButton" Content="CSV 파일 생성" Width="120" Height="40" Click="generateCSVButton_Click"/>
</StackPanel>
</Grid>
</Window>
C# (MainWindow.xaml.cs)
using System;
using System.IO;
using System.Text;
using System.Windows;
namespace CSVGenerator
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void generateCSVButton_Click(object sender, RoutedEventArgs e)
{
string[] data = { "이름,나이,이메일", "John,25,john@example.com", "Jane,30,jane@example.com", "Doe,20,doe@example.com" };
string filePath = "output.csv";
try
{
using (StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8))
{
foreach (string line in data)
{
writer.WriteLine(line);
}
}
MessageBox.Show("CSV 파일이 생성되었습니다.", "완료", MessageBoxButton.OK, MessageBoxImage.Information);
}
catch (Exception ex)
{
MessageBox.Show($"오류: {ex.Message}", "오류", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
}
위 코드는 WPF의 간단한 창을 생성하고, 버튼 클릭 시 미리 정의된 데이터를 이용하여 CSV 파일을 생성하는 기능을 가지고 있습니다. 'generateCSVButton_Click' 메서드에서는 파일 경로를 정의하고 StreamWriter를 사용하여 CSV 파일을 작성합니다.
실행 방법
- Visual Studio에서 새 WPF 프로젝트를 생성합니다.
- MainWindow.xaml과 MainWindow.xaml.cs 파일에 위 코드를 각각 복사하여 붙여넣습니다.
- 프로젝트를 빌드하고 실행합니다.
- 버튼을 클릭하여 CSV 파일을 생성해보세요.
이제 위 예제를 따라하면 간단한 WPF 애플리케이션을 통해 CSV 파일을 생성하는 방법을 익힐 수 있습니다. 데이터와 파일 경로를 자유롭게 변경하여 여러 가지 경우에 대응할 수 있습니다.
반응형
'WPF' 카테고리의 다른 글
WPF를 활용한 데이터 입력 및 출력 시스템 설계 (0) | 2023.12.17 |
---|---|
WPF 중요 메서드 정리 (0) | 2023.11.18 |
WPF 로또 당첨번호 자동 생성하기 (0) | 2023.11.10 |
WPF 코드 최적화 방법 (0) | 2023.11.02 |
WPF 대표적인 에러의 해결 방법 (0) | 2023.10.27 |
댓글