コード例 #1
0
 private void toolStripLabel3_Click(object sender, EventArgs e)
 {
     try
     {
         DialogResult queren = MessageBox.Show("读取的'EXCEL文件'后缀必须为.Xlsx,否则读取失败!", "系统提示!", MessageBoxButtons.YesNo);
         if (queren == DialogResult.Yes)
         {
             if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
             {
                 string path = openFileDialog1.FileName;
                 if (!path.Equals(string.Empty))
                 {
                     if (!File.Exists(path))
                     {
                         MessageBox.Show("文件不存在!");
                         return;
                     }
                     IntPtr vHandle = _lopen(path, OF_READWRITE | OF_SHARE_DENY_NONE);
                     if (vHandle == HFILE_ERROR)
                     {
                         MessageBox.Show("文件被占用!");
                         return;
                     }
                     CloseHandle(vHandle);
                     if (path.Trim().Contains("xlsx"))
                     {
                         List <DanHao> list = cal.Readerdh(path);
                         this.backgroundWorker1.RunWorkerAsync();                 // 运行 backgroundWorker 组件
                         JingDu form = new JingDu(this.backgroundWorker1, "读取中"); // 显示进度条窗体
                         form.ShowDialog(this);
                         form.Close();
                         DataTable dt1 = new DataTable();
                         dt1.Columns.Add("Id", typeof(int));
                         DataTable dt2 = new DataTable();
                         dt2.Columns.Add("Id", typeof(int));
                         txt_STYLE.Text               = list[0].Style;
                         dateTimePicker1.Text         = list[0].DATE;
                         txt_mfcf.Text                = list[0].FABRIC_CONTENT;
                         txt_JGC.Text                 = list[0].JiaGongChang;
                         this.comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
                         this.comboBox1.Text          = list[0].CaiDanNo;
                         for (int i = 0; i < dataGridView1.Columns.Count; i++)
                         {
                             if (!dataGridView1.Columns[i].HeaderCell.Value.ToString().Equals("Id"))
                             {
                                 dt1.Columns.Add(dataGridView1.Columns[i].HeaderCell.Value.ToString(), typeof(String));
                                 dt2.Columns.Add(dataGridView1.Columns[i].HeaderCell.Value.ToString(), typeof(String));
                             }
                         }
                         foreach (DanHao s in list)
                         {
                             if (s.Type != null)
                             {
                                 if (!s.Name.Contains("金额") && !s.Name.Equals("面料") && !s.Name.Contains("辅料") && !s.Name.Equals(string.Empty))
                                 {
                                     if (s.Type.Equals("面料"))
                                     {
                                         dt1.Rows.Add(s.Id, s.CaiDanNo, s.Style, s.FABRIC_CONTENT, s.DATE, s.JiaGongChang, s.Name, s.HuoHao, s.GuiGe, s.Yanse, s.Danjia, s.DanHao1, s.Jine, s.BeiZhu, s.ChangShang, s.Type);
                                     }
                                     else
                                     {
                                         dt2.Rows.Add(s.Id, s.CaiDanNo, s.Style, s.FABRIC_CONTENT, s.DATE, s.JiaGongChang, s.Name, s.HuoHao, s.GuiGe, s.Yanse, s.Danjia, s.DanHao1, s.Jine, s.BeiZhu, s.ChangShang, s.Type);
                                     }
                                 }
                             }
                         }
                         dataGridView1.DataSource = dt1;
                         dataGridView2.DataSource = dt2;
                         Jisuan();
                     }
                     else
                     {
                         MessageBox.Show("读取失败!原因:读取文件后缀非'xlsx'");
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         //throw ex;
         MessageBox.Show(ex.Message);
     }
 }