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 31 32 33 34 35 36 37 38 39 40 41 42 43 | OleDbConnection excelConnection = null; OleDbCommand dbCommand = null; OleDbDataAdapter dataAdapter = null; try { OleDbConnectionStringBuilder ConnectionBuilder = new OleDbConnectionStringBuilder(); //사용 PC에서 Microsoft.ACE.OLEDB,12.0 Provider가 별도로 설치되어 있어야 함 //다운로드 사이트 URL //https://www.microsoft.com/ko-KR/download/details.aspx?id=13255 //32bit로 다운받고 cmd에서 AccessDatabaseEngine.exe 경로로 이동 후 //AccessDatabaseEngine.exe /passive 입력하여 수동 설치 ConnectionBuilder.Provider = "Microsoft.ACE.OLEDB.12.0"; ConnectionBuilder.DataSource = _ExcelFilePath; ConnectionBuilder.Add("Extended Properties", "Excel 8.0"); excelConnection = new OleDbConnection(ConnectionBuilder.ToString()); excelConnection.Open(); string strSQL = @"SELECT * FROM [Sheet1$] WHERE [코드] <> ''"; dbCommand = new OleDbCommand(strSQL, excelConnection); dataAdapter = new OleDbDataAdapter(dbCommand); DataTable dTable = new DataTable(); //새로 추가된 부분 dataAdapter.Fill(dTable); grid1.DataSource = dTable; grid1.DataBinds(); grid1.DoReadOnly(true); } catch (OleDbException ex) { MessageBox.Show(ex.Message); } finally { //dispose used object //dTable.Dispose(); dataAdapter.Dispose(); dbCommand.Dispose(); excelConnection.Close(); excelConnection.Dispose(); } | cs |
사용자들이 cmd창에서 커맨드 입력하는게 힘들면 아래 명령어로 .bat파일 생성 후 사용하도록
(보통 배포 시 해당 업체 파일서버에 AccessDatabaseEngine.exe (32비트) 파일을 넣어놓고
각자 클라이언트 PC에서 마운트하여 사용하도록 배치파일 배포 함)
@echo off
echo "AccessDatabaseEngine 설치를 시작합니다. 잠시만 기다려주세요.."
echo "파일 서버에 연결 중 입니다..."
::해당 경로 마운트
pushd \\파일서버경로\설치파일이존재하는폴더명
echo "설치 창이 나타나면 설치를 진행해주세요."
::마운트 한 폴더에 있는 파일 수동 설치 (32비트이기 때문에 수동 설치)
AccessDatabaseEngine.exe /passive
::마운트 해제
popd
echo "complete."
echo "설치가 완료되었습니다. 이 창을 종료해주세요."
cmd /k
'C#' 카테고리의 다른 글
C# 정규식을 이용하여 문자열이 숫자인지 판단 (0) | 2019.09.19 |
---|---|
C# ListView 복사 붙여넣기 (0) | 2019.09.19 |
C# Excel을 PDF (0) | 2019.09.18 |
C# DataTable to MSSQL Table (21/02/23 수정) (0) | 2018.12.22 |
C# MSSQL LEFT, RIGHT 와 동일한 함수 (0) | 2018.12.22 |