장비목록에서 엑셀 가져올때 오류 처리 작업
장비목록 디비 기록시 팝업 창 추가 장비목록에서 날짜를 역정렬 하도록 수정
This commit is contained in:
		| @@ -96,46 +96,98 @@ namespace FEQ0000 | ||||
|         } | ||||
|         private void button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if(textBox1.Text.isEmpty()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("파일을 선택하세요"); | ||||
|                 textBox1.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|             if(!System.IO.File.Exists(textBox1.Text)) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력하신 파일이 존재하지 않습니다."); | ||||
|                 textBox1.Focus(); | ||||
|                 textBox1.SelectAll(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             dtExcel.Columns.Clear(); | ||||
|             dtExcel.Rows.Clear(); | ||||
|             dtExcel.AcceptChanges(); | ||||
|              | ||||
|             libxl.Book book;// = new libxl.BinBook(); | ||||
|             book = new libxl.XmlBook(); | ||||
|             book.setKey("Amkor Technology korea, Inc", "windows-282b2b0800c5e0016bb06a6fafjfd6o8"); | ||||
|             book.load(textBox1.Text); | ||||
|             try | ||||
|             { | ||||
|                 book.load(textBox1.Text); | ||||
|             }catch (Exception ex) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE(ex.Message); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             var sheet = book.getSheet(0); | ||||
|             int sheetNum = (int)numericUpDown1.Value; | ||||
|             if (sheetNum >= book.sheetCount()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력한 시트 번호는 존재하지 않습니다."); | ||||
|                 book = null; | ||||
|                 return; | ||||
|             } | ||||
|             var sheet = book.getSheet(sheetNum); | ||||
|             var MaxRow = sheet.lastRow(); | ||||
|             var MinRow = sheet.firstRow(); | ||||
|             var MaxCol = sheet.lastCol(); | ||||
|             var MinCol = sheet.firstCol(); | ||||
|             List<string> cols = new List<string>(); | ||||
|             for (int r = MinRow; r <= MaxRow; r++) | ||||
|             { | ||||
|                 DataRow dr = null; | ||||
|                 if (r > 0) dr = dtExcel.NewRow(); | ||||
|  | ||||
|                 for (int c = sheet.firstCol(); c <= sheet.lastCol(); c++) | ||||
|             bool firstRow = true; | ||||
|             try{ | ||||
|                 for (int r = MinRow; r <= MaxRow; r++) | ||||
|                 { | ||||
|                     var strVallue = sheet.readStr(r, c); | ||||
|                     if (r == 0) | ||||
|                     DataRow dr = null; | ||||
|                     if (firstRow ==false) dr = dtExcel.NewRow(); | ||||
|  | ||||
|                     Boolean nullColumn = false; | ||||
|                     for (int c = MinCol; c <= MaxCol; c++) | ||||
|                     { | ||||
|                         cols.Add(strVallue); | ||||
|                         this.dtExcel.Columns.Add(strVallue); | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         if (!cols[c].isEmpty()) | ||||
|                             dr[cols[c]] = strVallue; | ||||
|                         var strVallue = sheet.readStr(r, c); | ||||
|                         if (strVallue.isEmpty() && c == MinCol) | ||||
|                         { | ||||
|                             //첫줄 첫행이 빈값이면 처리하지 않는다. | ||||
|                             nullColumn = true; | ||||
|                             break; | ||||
|                         } | ||||
|                         if (firstRow) | ||||
|                         { | ||||
|                             cols.Add(strVallue); | ||||
|                             this.dtExcel.Columns.Add(strVallue); | ||||
|                         } | ||||
|                         else | ||||
|                         { | ||||
|                             if (!cols[c].isEmpty()) | ||||
|                                 dr[cols[c]] = strVallue; | ||||
|                         } | ||||
|                     } | ||||
|                     if (nullColumn) continue; //줄처리를 못한 경우 넘어감 | ||||
|                     if (firstRow) firstRow = false; | ||||
|                     if (dr != null) dtExcel.Rows.Add(dr); | ||||
|                 } | ||||
|                 if (dr != null) dtExcel.Rows.Add(dr); | ||||
|                 dtExcel.AcceptChanges(); | ||||
|             } | ||||
|            catch(Exception ex) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("불러오는 중 오류 발생\n" + ex.Message); | ||||
|             } | ||||
|             dtExcel.AcceptChanges(); | ||||
|             // | ||||
|             book = null; | ||||
|  | ||||
|             this.bs.DataSource = dtExcel; | ||||
|             this.dataGridView1.DataSource = dtExcel; | ||||
|             this.bn.BindingSource = this.bs; | ||||
|  | ||||
|             if(this.bs.Count < 1) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력된 자료가 없습니다.\n\n지정된 엑셀의 1번째 칸에 값이 없다면 입력되지 않습니다."); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void button2_Click(object sender, EventArgs e) | ||||
| @@ -178,7 +230,24 @@ namespace FEQ0000 | ||||
|  | ||||
|         private void button3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if(dtExcel == null || dtExcel.Rows.Count < 1) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("등록 가능한 자료가 없습니다."); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             System.Text.StringBuilder sb = new StringBuilder(); | ||||
|             sb.AppendLine("다음 자료를 추가하시겠습니까?"); | ||||
|             sb.AppendLine(); | ||||
|             sb.AppendLine("등록일 : " + dateTimePicker1.Value.ToShortDateString()); | ||||
|             sb.AppendLine(); | ||||
|             sb.AppendLine("해당 일자에 등록된 자료가 있다면 삭제 됩니다."); | ||||
|             sb.AppendLine("'저장 완료' 메세지가 나올때 까지 기다려 주세요."); | ||||
|             sb.AppendLine(); | ||||
|             sb.AppendLine("실행 하려면 '예' 를 누르세요"); | ||||
|             var dlg = FCOMMON.Util.MsgQ(sb.ToString()); | ||||
|             if (dlg != System.Windows.Forms.DialogResult.Yes) return; | ||||
|              | ||||
|             //라인코드를 읽어서 값을 기록해준다. | ||||
|             var taLine = new  dsEQTableAdapters.LineCodeTableAdapter(); | ||||
|             var lineTd = taLine.GetData(); | ||||
| @@ -279,8 +348,7 @@ namespace FEQ0000 | ||||
|                     break; | ||||
|             } | ||||
|             dt.AcceptChanges(); | ||||
|             FCOMMON.Util.MsgE("test"); | ||||
|             FCOMMON.Util.MsgI("Save OK"); | ||||
|         } | ||||
|  | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 chikyun.kim
					chikyun.kim