C#-Gridview直接依欄位名稱,及Excel的位置匯入

C#-Gridview直接依欄位名稱匯入

又是一個匯入程式,

這個功能是依欄位名稱做匯入,

程式如下:

using Microsoft.Office.Interop.Excel;

int _rowindex = 2;

Microsoft.Office.Interop.Excel.ApplicationClass app;
Microsoft.Office.Interop.Excel.Workbook workBook;
Microsoft.Office.Interop.Excel.Worksheet workSheet;
private void Inport_Click(object sender, EventArgs e)
        {
            string _setpath;
            string _path;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //取得檔案路徑名稱
                _setpath = openFileDialog1.FileName;
                _path = _setpath;
                app = new Microsoft.Office.Interop.Excel.ApplicationClass();
                workBook = app.Workbooks.Open(_path, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.ActiveSheet;

                //資料匯入
                while (((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 1]).Value2.ToString() != "")
                {
                    System.Windows.Forms.Application.DoEvents();

                    WRITEIN(((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 3]).Value2.ToString());
                    _rowindex = _rowindex + 1;
                    //progressBar1.Value = progressBar1.Value + 1;

                    if (((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 1]).Value2 == null)
                    {
                        app.Quit();
                        break;
                    }
                }
            }

        }

 

 //匯入設定值函式
        public void WRITEIN(string _ID)
        {         
            if (ibs.Count > 0)
            {
                ibs.BeginEdit();
                DataRowView add = (DataRowView)ibs.Current;
                add["StudentNo"] = checknull(((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 1]).Value2.ToString());
                add["ChtName"] = checknull(((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 2]).Value2.ToString());              
                ibst.EndEdit();
                id.ApplyUpdates();
            }
            else
            {
                ibs.AddNew();
                DataRowView add = (DataRowView)ibs.Current;
                add["StudentNo"] = checknull(((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 1]).Value2.ToString());
                add["ChtName"] = checknull(((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[_rowindex, 2]).Value2.ToString());               
                ibs.EndEdit();
                id.ApplyUpdates();
            }
        }

 

 

自我LV~