모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : programmer_22504
    작성자 : 와사비덮밥
    추천 : 0
    조회수 : 2723
    IP : 175.205.***.101
    댓글 : 7개
    등록시간 : 2018/07/17 10:17:25
    http://todayhumor.com/?programmer_22504 모바일
    C# Winform 엑셀 로드 관련 질문드립니다.
    옵션
    • 창작글
    • 본인삭제금지
    • 외부펌금지
    <div>안녕하세요 C# winform에 엑셀 로드하고 저장하는 기능을 구현중인데 도저히 속도 개선이 나오질 않아 질문 드립니다.</div> <div>현재 interop.excel을 사용해서 로드중인데 속도를 개선하는 방법이 없을까요??<br>oledb 방식으로 하게되면 사용자 컴퓨터에서도 드라이버를 설치해야되는 번거로움과 드라이버를 설치해도 "Microsoft.ACE.OELDB.12.0 공급자는 로컬 컴퓨터에 등록할 수 없습니다" 라는 메시지를 반환하고 에러가 납니다.</div> <div>interop방식으로 속도개선을 할수 있는 방법이나.. oledb방식으로 했을때 에러 해소 방안을 물어보고 싶어요 ㅠ</div> <div> </div> <div>1. form 디자인</div> <div style="text-align:left;"><img width="800" height="425" class="chimg_photo" style="border:;" alt="excel_Capture.PNG" src="http://thimg.todayhumor.co.kr/upfile/201807/153179012998f5017effed4771b09fdadcb2b0e990__mn496571__w1196__h636__f39656__Ym201807.png" filesize="39656"></div> <div style="text-align:left;"> </div> <div style="text-align:left;">2. C# 코드 - 엑셀로드 부분만</div> <div style="text-align:left;">using System;<br>using System.Collections.Generic;<br>using System.ComponentModel;<br>using System.Data;<br>using System.Drawing;<br>using System.Linq;<br>using System.Text;<br>using System.Threading.Tasks;<br>using System.Windows.Forms;<br>using System.IO;<br>using System.Data.OleDb;<br>using System.Reflection;<br>using Excel = Microsoft.Office.Interop.Excel;<br>using System.Runtime.InteropServices;<br></div> <div style="text-align:left;">//엑셀 로드부분</div> <div style="text-align:left;">private void btn_Open_Click(object sender, EventArgs e)<br>        {<br>            //openFileDialog1.ShowDialog();</div> <div style="text-align:left;">            Excel.Application xlApp = null;<br>            Excel.Workbook xlWorkbook = null;<br>            Excel.Worksheet xlWorksheet = null;<br>            Excel.Worksheet xlWorksheet2 = null;</div> <div style="text-align:left;">            OpenFileDialog ofd = new OpenFileDialog();<br>            ofd.Filter = "Excel File (*.xlsx)|*.xlsx|Excel File 97~2003 (*.xls)|*.xls|All Files (*.*)|*.*";</div> <div style="text-align:left;">            if (ofd.ShowDialog() == DialogResult.OK)<br>            {<br>                try<br>                {<br>                    excelDataView.Columns.Clear();</div> <div style="text-align:left;">                    DataTable dt = new DataTable();</div> <div style="text-align:left;">                    xlApp = new Excel.Application();<br>                    xlWorkbook = xlApp.Workbooks.Open(ofd.FileName);<br>                    gFileName = ofd.FileName;<br>                    xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.get_Item(1);</div> <div style="text-align:left;">                    string[] sheet_Name = new string[xlWorkbook.Worksheets.Count];</div> <div style="text-align:left;">                    cmbSheetName.Items.Clear();<br>                    for (int i = 1; i <= xlWorkbook.Worksheets.Count; i ++)<br>                    {<br>                        xlWorksheet2 = xlWorkbook.Worksheets[i] as Excel.Worksheet;<br>                        cmbSheetName.Items.Add(i.ToString() + "-" + xlWorksheet2.Name);<br>                    }</div> <div style="text-align:left;">                    Excel.Range range = xlWorksheet.UsedRange;</div> <div style="text-align:left;">                    object[,] data = range.Value;</div> <div style="text-align:left;">                    for (int i = 1; i <= range.Columns.Count; i++)<br>                    {<br>                        dt.Columns.Add(i.ToString(), typeof(string));<br>                    }</div> <div style="text-align:left;">                    for (int r = 1; r < range.Rows.Count; r++)<br>                    {<br>                        DataRow dr = dt.Rows.Add();</div> <div style="text-align:left;">                        for (int c = 1; c < range.Columns.Count; c++)<br>                        {<br>                            dr[c - 1] = data[r, c];<br>                        }<br>                    }</div> <div style="text-align:left;">                    xlWorkbook.Close(true);<br>                    xlApp.Quit();</div> <div style="text-align:left;">                    excelDataView.DataSource = dt;</div> <div style="text-align:left;">                }<br>                catch (Exception ex)<br>                {<br>                    MessageBox.Show(ex.Message);<br>                }<br>                finally<br>                {<br>                    ReleaseExcelObject(xlWorksheet);<br>                    ReleaseExcelObject(xlWorkbook);<br>                    ReleaseExcelObject(xlApp);<br>                    ReleaseExcelObject(xlWorksheet2);<br>                }<br>            }<br>        }</div> <div><br> </div> <div>3. 전체 C# 코드</div> <div>using System;<br>using System.Collections.Generic;<br>using System.ComponentModel;<br>using System.Data;<br>using System.Drawing;<br>using System.Linq;<br>using System.Text;<br>using System.Threading.Tasks;<br>using System.Windows.Forms;<br>using System.IO;<br>using System.Data.OleDb;<br>using System.Reflection;<br>using Excel = Microsoft.Office.Interop.Excel;<br>using System.Runtime.InteropServices;</div> <div>namespace WindowsFormsApp2<br>{<br>    public partial class Form1 : Form<br>    {<br>        private string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1};IMEX=1'";<br>        private string Excel07ConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1};IMEX=1'";<br>        private string gfileExtension = "";<br>        private string gFileName = "";<br>        private int Search_Count = 0;</div> <div>        public Form1()<br>        {<br>            InitializeComponent();<br>            UserDefine_Control();<br>        }</div> <div>        private void UserDefine_Control()<br>        {<br>            this.btn_Open.Click += new System.EventHandler(this.btn_Open_Click);<br>            this.btn_Save.Click += new System.EventHandler(this.btn_Save_Click);<br>            this.btn_col.Click += new System.EventHandler(this.btn_col_Click);<br>            this.btn_Search.Click += new System.EventHandler(this.btn_Search_Click);<br>            this.txtSearch.KeyDown += new KeyEventHandler(this.termKey_KeyDown);<br>            this.cmbSheetName.SelectedIndexChanged += new System.EventHandler(this.cmbSheetName_SelectedIndexChanged);<br>            this.excelDataView.MouseClick += new MouseEventHandler(this.excelDataView_MouseClick);<br>            excelDataView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;<br>            excelDataView.AlternatingRowsDefaultCellStyle.BackColor = Color.LightSteelBlue;<br>            //excelDataView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;</div> <div>            this.button1.Click += new System.EventHandler(this.btn_test);<br>        }</div> <div>        private void excelDataView_MouseClick(object sender, MouseEventArgs e)<br>        {<br>            if (e.Button == MouseButtons.Right)<br>            {<br>                EventHandler eh = new EventHandler(MenuClick);<br>                MenuItem[] ami =<br>                {<br>                    new MenuItem("숨김",eh)<br>                };<br>                ContextMenu = new System.Windows.Forms.ContextMenu(ami);<br>            }<br>        }<br>        <br>        private void MenuClick(object sender, EventArgs e)<br>        {<br>            MenuItem menu_item = (MenuItem)sender;<br>            String str = menu_item.Text;</div> <div>            if (str == "숨김")<br>            {<br>                int rowIndex = 0;<br>                rowIndex = excelDataView.CurrentCell.RowIndex;</div> <div>                CurrencyManager curr = (CurrencyManager)BindingContext[excelDataView.DataSource];<br>                curr.SuspendBinding();<br>                excelDataView.Rows[rowIndex].Visible = false;<br>                curr.ResumeBinding();<br>                Search_Count = Search_Count - 1;<br>                toolStripStatusLabel1.Text = "검색수 : " + Search_Count.ToString();<br>            }<br>        }</div> <div><br>        //특정행으로 이동<br>        private void btn_test(object sender, EventArgs e)<br>        {<br>            this.excelDataView.CurrentCell = this.excelDataView[1, 0];<br>        }</div> <div>        private void btn_Open_Click(object sender, EventArgs e)<br>        {<br>            //openFileDialog1.ShowDialog();</div> <div>            Excel.Application xlApp = null;<br>            Excel.Workbook xlWorkbook = null;<br>            Excel.Worksheet xlWorksheet = null;<br>            Excel.Worksheet xlWorksheet2 = null;</div> <div>            OpenFileDialog ofd = new OpenFileDialog();<br>            ofd.Filter = "Excel File (*.xlsx)|*.xlsx|Excel File 97~2003 (*.xls)|*.xls|All Files (*.*)|*.*";</div> <div>            if (ofd.ShowDialog() == DialogResult.OK)<br>            {<br>                try<br>                {<br>                    excelDataView.Columns.Clear();</div> <div>                    DataTable dt = new DataTable();</div> <div>                    xlApp = new Excel.Application();<br>                    xlWorkbook = xlApp.Workbooks.Open(ofd.FileName);<br>                    gFileName = ofd.FileName;<br>                    xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.get_Item(1);</div> <div>                    string[] sheet_Name = new string[xlWorkbook.Worksheets.Count];</div> <div>                    cmbSheetName.Items.Clear();<br>                    for (int i = 1; i <= xlWorkbook.Worksheets.Count; i ++)<br>                    {<br>                        xlWorksheet2 = xlWorkbook.Worksheets[i] as Excel.Worksheet;<br>                        cmbSheetName.Items.Add(i.ToString() + "-" + xlWorksheet2.Name);<br>                    }</div> <div>                    Excel.Range range = xlWorksheet.UsedRange;</div> <div>                    object[,] data = range.Value;</div> <div>                    for (int i = 1; i <= range.Columns.Count; i++)<br>                    {<br>                        dt.Columns.Add(i.ToString(), typeof(string));<br>                    }</div> <div>                    for (int r = 1; r < range.Rows.Count; r++)<br>                    {<br>                        DataRow dr = dt.Rows.Add();</div> <div>                        for (int c = 1; c < range.Columns.Count; c++)<br>                        {<br>                            dr[c - 1] = data[r, c];<br>                        }<br>                    }</div> <div>                    xlWorkbook.Close(true);<br>                    xlApp.Quit();</div> <div>                    excelDataView.DataSource = dt;</div> <div>                }<br>                catch (Exception ex)<br>                {<br>                    MessageBox.Show(ex.Message);<br>                }<br>                finally<br>                {<br>                    ReleaseExcelObject(xlWorksheet);<br>                    ReleaseExcelObject(xlWorkbook);<br>                    ReleaseExcelObject(xlApp);<br>                    ReleaseExcelObject(xlWorksheet2);<br>                }<br>            }<br>        }</div> <div>        private void termKey_KeyDown(object sender, KeyEventArgs e)<br>        {<br>            if(e.KeyCode == Keys.Enter)<br>            {<br>                btn_Search_Click(sender, e);<br>            }<br>        }</div> <div>        private void btn_col_Click(object sender, EventArgs e)<br>        {<br>            excelDataView.Columns.Add("Column", txtColName.Text);<br>        }</div> <div>        private void cmbSheetName_SelectedIndexChanged(object sender, EventArgs e)<br>        {<br>            lblSheetName.Text = cmbSheetName.Text;<br>            int Sheet_Num = 0;</div> <div>            Excel.Application xlApp = null;<br>            Excel.Workbook xlWorkbook = null;<br>            Excel.Worksheet xlWorksheet = null;<br>            Excel.Worksheet xlWorksheet2 = null;</div> <div>            try<br>            {<br>                excelDataView.Columns.Clear();</div> <div>                DataTable dt = new DataTable();</div> <div>                xlApp = new Excel.Application();<br>                xlWorkbook = xlApp.Workbooks.Open(gFileName);</div> <div>                Sheet_Num = Convert.ToInt16(cmbSheetName.Text.Split('-')[0]);<br>                xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.get_Item(Sheet_Num);</div> <div>                Excel.Range range = xlWorksheet.UsedRange;</div> <div>                object[,] data = range.Value;</div> <div>                for (int i = 1; i <= range.Columns.Count; i++)<br>                {<br>                    dt.Columns.Add(i.ToString(), typeof(string));<br>                }</div> <div>                for (int r = 1; r < range.Rows.Count; r++)<br>                {<br>                    DataRow dr = dt.Rows.Add();</div> <div>                    for (int c = 1; c < range.Columns.Count; c++)<br>                    {<br>                        dr[c - 1] = data[r, c];<br>                    }<br>                }</div> <div>                xlWorkbook.Close(true);<br>                xlApp.Quit();</div> <div>                excelDataView.DataSource = dt;<br>            }<br>            catch (Exception ex)<br>            {<br>                MessageBox.Show(ex.Message);<br>            }<br>            finally<br>            {<br>                ReleaseExcelObject(xlWorksheet);<br>                ReleaseExcelObject(xlWorkbook);<br>                ReleaseExcelObject(xlApp);<br>                ReleaseExcelObject(xlWorksheet2);<br>            }<br>        }</div> <div>        private void ReleaseExcelObject(object obj)<br>        {<br>            try<br>            {<br>                if (obj != null)<br>                {<br>                    Marshal.ReleaseComObject(obj);<br>                    obj = null;<br>                }<br>            }<br>            catch (Exception ex)<br>            {<br>                obj = null;<br>                throw ex;<br>            }<br>            finally<br>            {<br>                GC.Collect();<br>            }<br>        }</div> <div>        private void btn_Save_Click(object sender, EventArgs e)<br>        {<br>            ExportExcel(true);<br>        }</div> <div>        public static String changeIndex(int index)<br>        {<br>            int quotient = (index) / 26;</div> <div>            if (quotient > 0)<br>            {<br>                return changeIndex(quotient - 1) + (char)(index % 36 + 65);<br>            }<br>            else<br>            {<br>                return "" + (char)(index % 36 + 65);<br>            }<br>        }</div> <div>        private void ExportExcel(bool caption)<br>        {<br>            this.saveFileDialog1.FileName = "TempName";<br>            this.saveFileDialog1.DefaultExt = gfileExtension;<br>            //this.saveFileDialog1.Filter = "Excel files (*." + gfileExtension + ")|*." + gfileExtension;<br>            this.saveFileDialog1.Filter = "Excel files (*.xls)|*.xls";<br>            this.saveFileDialog1.InitialDirectory = "c:\\";</div> <div>            DialogResult result = saveFileDialog1.ShowDialog();</div> <div>            if (result == DialogResult.OK)<br>            {<br>                object missingType = Type.Missing;</div> <div>                Excel.Application objApp;<br>                Excel._Workbook objBook;<br>                Excel.Workbooks objBooks;<br>                Excel.Sheets objSheets;<br>                Excel._Worksheet objSheet;<br>                Excel.Range range;</div> <div>                string[] headers = new string[excelDataView.ColumnCount];<br>                string[] columns = new string[excelDataView.ColumnCount];</div> <div>                /*for (int c = 0; c < excelDataView.ColumnCount; c++)<br>                {<br>                    headers[c] = excelDataView.Rows[0].Cells[c].OwningColumn.HeaderText.ToString();<br>                    num += c + 65;<br>                    columns[c] = Convert.ToString((char)num);<br>                }*/</div> <div>                for (int c = 0; c < excelDataView.ColumnCount; c++)<br>                {<br>                    headers[c] = excelDataView.Rows[0].Cells[c].OwningColumn.HeaderText.ToString();</div> <div>                    int quotient = (c) / 26;<br>                    if (quotient > 0)<br>                    {<br>                        columns[c] = Convert.ToString(changeIndex(quotient - 1) + (char)((c % 26) + 65));<br>                    }<br>                    else<br>                    {<br>                        columns[c] = Convert.ToString((char)((c % 26) + 65));<br>                    }<br>                }</div> <div>                try<br>                {<br>                    objApp = new Excel.Application();<br>                    objBooks = objApp.Workbooks;<br>                    objBook = objBooks.Add(Missing.Value);<br>                    objSheets = objBook.Worksheets;<br>                    objSheet = (Excel._Worksheet)objSheets.get_Item(1);</div> <div>                    if (caption)<br>                    {<br>                        for (int i = 0; i < excelDataView.ColumnCount; i ++)<br>                        {<br>                            range = objSheet.get_Range(columns[i] + "1", Missing.Value);<br>                            range.set_Value(Missing.Value, headers[i]);<br>                        }<br>                    }</div> <div>                    for (int i = 0; i < excelDataView.RowCount - 1; i++)<br>                    {<br>                        for (int j = 0; j < excelDataView.ColumnCount; j++)<br>                        {<br>                            range = objSheet.get_Range(columns[j] + Convert.ToString(i + 2),<br>                                                                   Missing.Value);<br>                            range.set_Value(Missing.Value,<br>                                                  excelDataView.Rows[i].Cells[j].Value.ToString());<br>                        }<br>                    }</div> <div>                    objApp.Visible = false;<br>                    objApp.UserControl = false;</div> <div>                    objBook.SaveAs(@saveFileDialog1.FileName,<br>                              Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,<br>                              missingType, missingType, missingType, missingType,<br>                              Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,<br>                              missingType, missingType, missingType, missingType, missingType);<br>                    objBook.Close(false, missingType, missingType);</div> <div>                    Cursor.Current = Cursors.Default;</div> <div>                    MessageBox.Show("Save Success!!!");</div> <div>                }<br>                catch(Exception e)<br>                {<br>                    String ErrMsg;<br>                    ErrMsg = "Error: ";<br>                    ErrMsg = String.Concat(ErrMsg, e.Message);<br>                    ErrMsg = String.Concat(ErrMsg, " Line: ");<br>                    ErrMsg = String.Concat(ErrMsg, e.Source);</div> <div>                    MessageBox.Show(ErrMsg, "Error");<br>                }<br>            }<br>        }</div> <div>        private void btn_Search_Click(object sender, EventArgs e)<br>        {<br>            DataTable dt = new DataTable();<br>            BindingSource bs = new BindingSource();<br>            string[] colName = new string[excelDataView.Columns.Count];<br>            int count = 0;</div> <div>            bs.DataSource = excelDataView.DataSource;<br>            excelDataView.DataSource = bs;<br>            <br>            for (int i = 0; i < excelDataView.Columns.Count; i++)<br>            {<br>                colName[i] = excelDataView.Columns[i].HeaderText;<br>            }</div> <div>            for (int i = 0; i < excelDataView.Columns.Count; i++)<br>            {<br>                if (bs.Filter == null)<br>                {<br>                    bs.Filter = string.Format("Convert(["+ colName[i].ToString().Trim() + "], 'System.String') LIKE '%" + txtSearch.Text + "%'");<br>                }<br>                else<br>                {<br>                    bs.Filter += string.Format(" OR Convert(["+ colName[i].ToString().Trim() + "], 'System.String') LIKE '%" + txtSearch.Text + "%'");<br>                }<br>                <br>            }<br>            Search_Count = excelDataView.Rows.Count-1;<br>            toolStripStatusLabel1.Text = "검색수 : "+ Search_Count.ToString();<br>        }</div> <div>        private void txtCell_Type(object sender, EventArgs e)<br>        {<br>            string[,] valueType = new string[6, 3];<br>            string[,] valueGetType = new string[6, 3];</div> <div>            if (typeof(Int32) == excelDataView.SelectedCells[0].Value.GetType())<br>            {<br>                MessageBox.Show("숫자");<br>            }<br>            else if (typeof(string) == excelDataView.SelectedCells[0].Value.GetType())<br>            {<br>                MessageBox.Show("문자");<br>            }<br>            else<br>            {<br>                MessageBox.Show(excelDataView.SelectedCells[0].Value.GetType().ToString());<br>            }<br>        }</div> <div>        private void txtSearch_TextChanged(object sender, EventArgs e)<br>        {<br>            //cell의 데이터 값<br>            //string test = "";<br>            //test = excelDataView.Rows[1].Cells[2].Value.ToString();</div> <div>            //검색한 셀 위치<br>            /*string search_Value = txtSearch.Text;<br>            int rowIndex = 0;<br>            excelDataView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;</div> <div>            try<br>            {<br>                if (excelDataView.Rows.Count > 0)<br>                {<br>                    foreach (DataGridViewRow row in excelDataView.Rows)<br>                    {<br>                        if (row.Cells[rowIndex].Value.ToString().Equals(search_Value))<br>                        {<br>                            row.Selected = true;<br>                            rowIndex++;<br>                            break;<br>                        }<br>                    }<br>                }<br>            }<br>            catch(Exception exe)<br>            {<br>                MessageBox.Show(exe.Message);<br>            }*/</div> <div>            DataTable dt = new DataTable();<br>            BindingSource bs = new BindingSource();<br>            string[] colName = new string[excelDataView.Columns.Count];</div> <div>            bs.DataSource = excelDataView.DataSource;<br>            excelDataView.DataSource = bs;</div> <div>            for (int i = 0; i < excelDataView.Columns.Count; i++)<br>            {<br>                colName[i] = excelDataView.Columns[i].HeaderText;<br>            }</div> <div>            for (int i = 0; i < excelDataView.Columns.Count; i++)<br>            {<br>                if (bs.Filter == null)<br>                {<br>                    bs.Filter = string.Format(colName[i].ToString() + " LIKE '%{0}%'", txtSearch.Text);<br>                }<br>                else<br>                {<br>                    bs.Filter += string.Format(" OR " + colName[i].ToString() + " LIKE '%{0}%'", txtSearch.Text);<br>                }</div> <div>            }<br>        }<br>    }<br>}<br></div>

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    22520
    c# 여러줄 입력받기 [1] IPID 18/07/24 22:15 1145 0
    22519
    올해 스무살이고 국비지원을 받고 프로그래머 되고싶은데 질문있어요 [2] 본인삭제금지 할리는김할리 18/07/24 19:38 792 0
    22518
    파이썬 입문자인데 오류.. [2] 143243 18/07/24 15:17 759 0
    22517
    3d 모델을 만들기 좋은 쉬운 프로그램을 추천해주세요. [3] 창기름 18/07/23 20:10 740 0
    22515
    [본삭금] 맥, 어플리케이션 내 매크로 기능 본인삭제금지 Kennbisi 18/07/22 00:37 723 0
    22514
    팟티나 팟빵같은 사이트는 왜 필요한건가요? [2] 펜듈럼99 18/07/21 15:14 859 0
    22513
    회사생활)S/W하던 친구가 PLC로 입사했습니다. [2] 꾸르렁꾸르렁대 18/07/21 10:13 1401 0
    22512
    http 200 코드에 대해서 궁금합니다. [2] 율율융 18/07/21 09:39 733 0
    22511
    [질문]홈페이지에서 클릭한 내용을 저장하고 나중에 정렬해서 볼 수 있나요 [3] 베스트금지베오베금지본인삭제금지 팩션마니아 18/07/21 08:26 599 0
    22509
    제가 지금 구글로그인 할수없는 상황이라 여기다 연습 소스좀 올릴께여 ㅠㅠ [2] 인생은타이밍! 18/07/20 12:00 668 0
    22508
    게임 프로그래밍을 독학하려는데요. 책추천좀 부탁드리겠습니다. [8] 닉넴이죠 18/07/20 02:05 832 0
    22507
    [질문] MFC 분할윈도우 Formview 추가 [1] 창작글 묠뉘르 18/07/19 14:07 2508 0
    22506
    리눅스 서버관련해서 도움받을수 있을런지요.. [14] 입업벤치 18/07/18 23:21 1011 0
    22505
    안녕하세요. 비양심적인 사장 글 올렸었는데 중간 후기입니다. [6] 타마마임팩트! 18/07/18 11:04 952 2
    C# Winform 엑셀 로드 관련 질문드립니다. [7] 창작글본인삭제금지외부펌금지 와사비덮밥 18/07/17 10:17 2724 0
    22503
    프로그래밍을 이제막 배우고 싶어서 알아보고있는데요. 질문 드립니다. [2] 닉넴이죠 18/07/16 13:04 692 0
    22502
    정신차리고 보니.... [2] 창작글 오래된준회원 18/07/16 01:49 984 3
    22500
    윈도우 앱 개발하려면 C#,C++ 어떤거 공부해야 하나요? [5] 리디 18/07/16 00:35 807 0
    22499
    PHP에서 배열 인덱스?키? 에 관한 질문 [6] 본인삭제금지 감히니가? 18/07/15 02:09 683 0
    22498
    맥 없는 상태에서 ios개발을 해보려고 하는데요 [10] 블로블로그 18/07/14 22:54 12679 0
    22497
    개발자 선배(?) 님들께 고견을 여쭙고자 합니다. [6] 본인삭제금지 훗날닭집사장 18/07/14 02:58 995 0
    22496
    자바스크립트 질문 [3] 빠루상사 18/07/13 14:22 661 0
    22495
    안드로이드 6.x책 받았는데 이 책으로 공부해도 될까요? [3] 베오베금지 우와우와우왕 18/07/12 20:53 680 0
    22494
    크롤링 관련 법적 문제가 되는지.. 궁금합니다. [5] 율율융 18/07/12 09:33 2317 0
    22493
    26남 진로고민[웹 -> 게임(vr,3d)] 조언부탁드립니다.. [4] 인생_ 18/07/11 23:54 664 0
    22492
    회사 시큐어디스크 개발암... [4] 잘못들었슴돠 18/07/11 15:08 847 0
    22491
    web component의 라이선스 방식이 궁금합니다. [1] 본인삭제금지 을파소 18/07/11 09:07 541 0
    22490
    신입 개발자인데, 이 직장에서 얼마나 다닐지 고민하고 있어요 [6] Persona. 18/07/10 22:58 1128 0
    22489
    url 뒤에 문자가 왔을때 [1] 뭐꼬 18/07/09 07:06 802 0
    22488
    구글링으로 복붙해서 개발할 수 있나요? [7] 호에엥 18/07/08 12:18 1064 0
    [◀이전10개] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈