OLEDB를 사용하여 EXCEL 파일 읽기
//파일 선택
private void simpleButton1_Click(object sender, EventArgs e)
{
textEdit1.Text = SelectPath();
}
private string SelectPath()
{
string path = string.Empty;
var openFileDialog = new Microsoft.Win32.OpenFileDialog()
{
Filter = "Files (*.xls)|*.xls|(*.xlsx)|*.xlsx"// txt ("Files (*.txt)|*.txt")
//Filter = "Files ( )|*.*"
};
var result = openFileDialog.ShowDialog();
if (result == true)
{
path = openFileDialog.FileName;
}
return path;
}
//Excel 파일 읽기
public static DataTable ReadExcel(string filePath)
{
try
{
// ,
string strConn;
//strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel8.0;HDR=False;IMEX=1'";
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" + filePath + ";Extended Properties='Excel 12.0; HDR=NO;IMEX=1'";// .xls .xlsx
OleDbConnection OleConn=new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT* FROM[Sheet1$]";// Sheet , sheet2,
OleDbDataAdapter OleDaExcel=new OleDbDataAdapter(sql,OleConn);
DataSet OleDsExcle=new DataSet();
OleDaExcel.Fill(OleDsExcle,"Sheet1");
OleConn.Close();
return OleDsExcle.Tables["Sheet1"];
}
catch(Exception err)
{
MessageBox.Show(" Excel ! :"+err.Message," ", MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
}
DataTable dt = ReadExcel(textEdit1.Text); ;// Excel DataTable
위 코드는 Excel의 읽기를 실현하고 내용을 데이터 세트에 저장합니다.이어서 이 데이터테이블을 어떻게 응용하는지 설명해 주세요.
방식 1: 데이터테이블 내용을 DataGridView에 읽고 모든 Excel 내용을 표시합니다.1. DataGridView 컨트롤을 추가하고 dataGridView12로 이름을 지정합니다.DataGridView 데이터 바인딩 문구 추가: DataTabledt;//Excel 테이블의 내용 저장 dt=ReadExcel("E://1.xls");//여기 경로는 Excel 양식에 저장된 경로 dataGridView1을 가리킵니다.DataSource=dt;
방식2:1.label 탭을 추가합니다. 이름은label12입니다.문장 추가하기;label1.Text=dt.Rows[x][y].ToString();//여기 인자 x, y, 대응하는 것은 당신의 Excel 표의 단원격 내용입니다.참고로, x, y는 0부터 값을 얻습니다.마지막으로 한 가지 더 설명할 것은 읽을 내용이 Excel 표의 두 번째 줄에서 시작된다는 것이다.첫 번째 줄, 데이터베이스에 있는 필드 이름과 유사합니다. 읽지 않습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.