반응형
1. 목표
테이블형태의 원하는 엑셀파일의 내용을 데이터그리드에 출력할수 있습니다.
2. 환경
OpenFileDialog 및 OleDb를 이용하여 엑셀파일 내용을 읽고 출력 합니다.
3. 코드
- OleDb 연결 및 조회
DBClass명으로 Class안에 작성한 내용입니다.
using System.Data.OleDb;
public void Conn()
{
/*string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source ="
+ this.filePath + this.fileName + "; Extended Properties = 'Excel 12.0 Xml; HDR=YES; IMEX=1;'";
*/
string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source ="
+ this.server + this.db + "; Extended Properties = Excel 12.0;";
this.oleCon = new OleDbConnection(ConnectionString);
oleCon.Open();
//transaction = oleCon.BeginTransaction();
}
// 쿼리문 실행 데이터테이블 자료형으로 반환
public DataTable Read(string query)
{
try
{
Conn();
string qry = query;
OleDbDataAdapter oleOda = new OleDbDataAdapter(qry, oleCon);
DataTable exDataTable = new DataTable();
oleOda.Fill(exDataTable);
oleCon.Close();
return exDataTable;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
- OpenFileDialog를 이용하여 선택 파일명 및 파일경로 가져옵니다.
// 파일 찾아보기 - OpenFileDialog 이용
private void metroButton1_Click(object sender, EventArgs e)
{
string fileName, fileFullName, filePath ="";
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
//File명과 확장자
fileName = ofd.SafeFileName;
//File경로와 File명
fileFullName = ofd.FileName;
//File경로
filePath = fileFullName.Replace(fileName, "");
metroTextBox1.Clear();
metroTextBox1.Text = fileFullName;
data_read(filePath, fileName);
}
}
- 객체를 생성하고 쿼리문에 맞는 데이터테이블을 반환받아 그리드에 뿌려줍니다.
private void data_read(string filePath, string fileName)
{
DBClass db = new DBClass(filePath, fileName);
string qry = "SELECT * FROM [발주접수목록Excel$]"; // 테이블명에는 $ 붙어야함.. 이유모름
metroGrid1.DataSource = db.Read(qry);
}
4. 결과물
해당 결과물을 이용하여 mysql을 이용하여 db에 등록하거나 가공하여 사용 할수 있습니다.
mysql 사용하기
https://samwootc.tistory.com/116
비슷한내용으로 엑셀을 디비처럼 사용 가능 합니다.
https://samwootc.tistory.com/89
반응형
'IT 개발일지' 카테고리의 다른 글
C# 데이터그리드뷰 행 삭제 How to Delete Rows in a DataGridView with a Boundin Data Source in WinForms: A Step-by-Step Guide with Code Snippets (0) | 2023.05.15 |
---|---|
C# datagrid에 checkbox 삽입 하기 (0) | 2023.01.10 |
C# MYSQL HOW TO SELECT UPDATE DELETE 쿼리하기 (0) | 2022.12.26 |
C# HOW TO CONNECT MYSQL DATABASE 연결하기 (0) | 2022.12.26 |
C# how to datagridview checkbox value 변경 이벤트 적용하기 (0) | 2022.02.10 |
댓글