Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 게임
- 파이썬 오류
- 메이플 쇼케이스
- 게임신작
- 추억의 게임
- 메이플
- 신의탑 게임
- 메이플스토리
- 설문조사 결과산출
- 컴투스
- 코딩
- ToyProject
- 넷마블
- 윈폼
- 스팀 할인
- TL
- 마비노기 쇼케이스
- 파이썬
- 모바일게임
- 신의탑
- 여름게임
- 스팀세일
- 프로그래밍
- 넥슨
- 게임 트렌드
- 인공지능
- 스팀
- c#
- 컴투스 신작
- NC
Archives
- Today
- Total
JY Tech
윈폼으로 설문조사 결과산출 프로그램 만들기(6) 본문
이번 시간에는 dataGridView에 입력한 내용들을 엑셀로 저장하는 기능을 구현할 것이다.
윈폼에서 엑셀을 연동하기 위해서는 패키지를 설치해야 한다.
화면 우측의 [참조]를 우클릭하고 [NuGet 패키지 관리] 를 클릭한다
찾아보기 에서 excel을 검색하고
이걸 설치하면 된다.
ProMode의 엑셀로저장 버튼을 클릭 해 이벤트를 만들어주고 다음과 같이 코드가 구성되도록 한다
private void button2_Click(object sender, EventArgs e)
{
ExportToExcel(); //클릭 이벤트에 있어야 하는 코드
}
이제 ExportToExcel()을 만들어준면 된다.
private void ExportToExcel()
{
bool IsExport = false;
// Creating a Excel object.
Microsoft.Office.Interop.Excel._Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook workbook = excel.Workbooks.Add(Type.Missing);
Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
try
{
worksheet = workbook.ActiveSheet;
int cellRowIndex = 1;
int cellColumnIndex = 1;
for (int col = 0; col < dataGridView1.Columns.Count; col++)
{
if (cellRowIndex == 1)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = dataGridView1.Columns[col].HeaderText;
}
cellColumnIndex++;
}
cellColumnIndex = 1;
cellRowIndex++;
for (int row = 0; row <= dataGridView1.Rows.Count - 1; row++)
{
for (int col = 0; col < dataGridView1.Columns.Count; col++)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = dataGridView1.Rows[row].Cells[col].Value.ToString();
cellColumnIndex++;
}
cellColumnIndex = 1;
cellRowIndex++;
}
SaveFileDialog saveFileDialog = GetExcelSave();
if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
workbook.SaveAs(saveFileDialog.FileName);
MessageBox.Show("데이터가 성공적으로 저장되었습니다");
IsExport = true;
}
//Export 성공 했으면 객체들 해제
if (IsExport)
{
workbook.Close();
excel.Quit();
workbook = null;
excel = null;
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private SaveFileDialog GetExcelSave()
{
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.CheckPathExists = true;
saveDialog.AddExtension = true;
saveDialog.ValidateNames = true;
saveDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
saveDialog.DefaultExt = ".xlsx";
saveDialog.Filter = "Microsoft Excel Workbook (*.xls)|*.xlsx";
saveDialog.FileName = "Data Analyze".ToString(); //엑셀로 저장할 때 기본 파일이름
return saveDialog;
}
위의 코드는 dataGridView의 내용을 엑셀로 내보내고 저장하는 코드다.
사실 다른 코드와 달리 위 코드는 프로그램을 만들었을 당시에 구글링을 하다가 찾은 코드에 아주 살짝만 수정한건데 출처를 못찾았다..(출처를 찾으면 수정)
다음포스팅에서는 메인화면(Form1)의 ui를 수정하고 exe로 만들어 배포하는 방법을 알아볼 것이다.
'Programming > MiniProject' 카테고리의 다른 글
윈폼으로 설문조사 결과산출 프로그램 만들기(7) (1) | 2023.07.30 |
---|---|
윈폼으로 설문조사 결과산출 프로그램 만들기(5) (1) | 2023.05.13 |
윈폼으로 설문조사 결과산출 프로그램 만들기(4) (0) | 2023.04.22 |
윈폼으로 설문조사 결과산출 프로그램 만들기(3) (2) | 2023.04.15 |
윈폼으로 설문조사 결과산출 프로그램 만들기 지연.. (0) | 2023.04.08 |