private void ButtonImport_Click(object sender, EventArgs e) { Path = string.Empty; OpenFileDialog GetPath = new OpenFileDialog(); GetPath.Filter = "Excel Files 2007(*.xlsx;)|*.xlsx;"; if (GetPath.ShowDialog() == DialogResult.OK) { try { if (GetPath.FileName != null) { Path = GetPath.FileName; if (!Bgworker.IsBusy) { RetriveTableData TObj = new RetriveTableData(); DGImport.Rows.Clear(); ButtonSave.Enabled = false; ButtonImport.Enabled = false; Bgworker.RunWorkerAsync(TObj); } } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Information", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void ImportTooling_FormClosing(object sender, FormClosingEventArgs e) { if (Bgworker.IsBusy) { Bgworker.CancelAsync(); } }
private void Bgworker_DoWork(object sender, DoWorkEventArgs e) { RetriveTableData Obj = (RetriveTableData)e.Argument; Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; Excel.Range range; int RowCnt = 0; int ColCnt = 0; int Counter = 1; int Coltooling = 13; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(Path, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); range = xlWorkSheet.UsedRange; for (RowCnt = 2; RowCnt <= range.Rows.Count; RowCnt++) //baris { for (ColCnt = 1; ColCnt <= Coltooling; ColCnt++) //kolom { if ((string)(range.Cells[RowCnt, ColCnt] as Excel.Range).Text != null) { Obj.Collectdata[ColCnt - 1] = (string)(range.Cells[RowCnt, ColCnt] as Excel.Range).Text; } else { Obj.Collectdata[ColCnt - 1] = ""; } } Bgworker.ReportProgress((Int32)Math.Round((double)(Counter++ *100) / (range.Rows.Count - 1)), Obj); } xlWorkBook.Close(true, null, null); xlApp.Quit(); releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); }