Browse Source

修改导出方式

章政 6 years ago
parent
commit
83ceaf9fcb

+ 22 - 2
UAS-出货标签管理(贸易版)/PublicMethod/ExcelHandler.cs

@@ -14,6 +14,26 @@ namespace UAS_LabelMachine
     {
         DataHelper dh = SystemInf.dh;
 
+        /// <summary>
+        /// 导出Excel,返回文件在客户端的路径
+        /// </summary>
+        public string ExportExcel(DataTable dt, string FolderPath, string FileName)
+        {
+            //创建一个内存流,用来接收转换成Excel的内容
+            MemoryStream ms;
+            ms = DataTableToExcel(dt);
+            //以系统当前时间命名文件,FileMode.Create表示创建文件,FileAccess.Write表示拥有写的权限
+            string filePath = @FolderPath + "\\" + FileName + ".xls";
+            FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
+            byte[] data = ms.ToArray();
+            fs.Write(data, 0, data.Length);
+            fs.Flush();
+            //释放当前Excel文件,否则打开文件的时候会显示文件被占用
+            ms.Dispose();
+            fs.Dispose();
+            return filePath;
+        }
+
         /// <summary>
         /// 导出Excel,返回文件在客户端的路径
         /// </summary>
@@ -361,7 +381,7 @@ namespace UAS_LabelMachine
                             First_Batch += DataTable.Rows[i]["扩散批号"].ToString() + " ";
                         }
                         //不包含Wafer_id
-                        if (DataTable.Columns.Contains("Wafer_ID") &&!First_WID.Contains(DataTable.Rows[i]["Wafer_ID"].ToString()))
+                        if (DataTable.Columns.Contains("Wafer_ID") && !First_WID.Contains(DataTable.Rows[i]["Wafer_ID"].ToString()))
                         {
                             First_WID.Add(DataTable.Rows[i]["Wafer_ID"].ToString());
                         }
@@ -375,7 +395,7 @@ namespace UAS_LabelMachine
                             dr["pd_ordercode"] = First_OrderCode;
                             dr["pr_spec"] = First_Prspec;
                             dr["ch_splitbatch"] = First_Batch;
-                            dr["ch_waterid"] = BaseUtil.GetArrStr(First_WID," ");
+                            dr["ch_waterid"] = BaseUtil.GetArrStr(First_WID, " ");
                             dr["num"] = PageSize;
                             dr["io_qty"] = sumCount;
                             FirstDT.Rows.Add(dr);

+ 4 - 2
UAS-出货标签管理(贸易版)/PublicMethod/LogicHandler.cs

@@ -91,7 +91,6 @@ namespace UAS_LabelMachine.PublicMethod
 
         public static void ImportExcel(string iMaster, string iFileName, string iPiID, string iInOutNo, string iCustCode)
         {
-
             switch (iMaster)
             {
                 //海创
@@ -101,6 +100,9 @@ namespace UAS_LabelMachine.PublicMethod
                 case "SZSI_TEST":
                     ImportExcel_SZSI(iFileName, iPiID, iInOutNo, iCustCode);
                     break;
+                case "SZSI":
+                    ImportExcel_SZSI(iFileName, iPiID, iInOutNo, iCustCode);
+                    break;
                 default:
                     break;
             }
@@ -180,7 +182,7 @@ namespace UAS_LabelMachine.PublicMethod
             Dictionary<string, Dictionary<string, decimal>> outsumqty = new Dictionary<string, Dictionary<string, decimal>>();
             for (int i = 0; i < dt.Rows.Count; i++)
             {
-                string pr_spec = dt.Rows[i]["规格型号"].ToString().Trim();
+                string pr_spec = dt.Rows[i]["规格型号"].ToString().Trim().ToUpper();
                 if (pr_spec.Trim() == "")
                 {
                     break;

+ 55 - 44
UAS-出货标签管理(贸易版)/UAS_出货标签管理.cs

@@ -2326,50 +2326,61 @@ namespace UAS_LabelMachine
                     break;
                 case "导出数据":
                     ExportExcel ex = new ExportExcel(pi_inoutno.Text);
-                    ex.StartPosition = FormStartPosition.CenterScreen;
-                    ex.ShowDialog();
-                    //ExportFileDialog.Description = "选择导出的路径";
-                    //result = ExportFileDialog.ShowDialog();
-                    //if (result == DialogResult.OK)
-                    //{
-                    //    ExcelHandler eh = new ExcelHandler();
-                    //    dt = ((DataTable)LabelInf.DataSource).Copy();
-                    //    for (int i = dt.Columns.Count - 1; i >= 0; i--)
-                    //    {
-                    //        for (int j = 0; j < LabelInf.Columns.Count; j++)
-                    //        {
-                    //            //去除ID列
-                    //            if (dt.Columns[i].ColumnName.ToLower().Contains("id") || dt.Columns[i].ColumnName.ToLower() == "pib_barcode" || dt.Columns[i].ColumnName.ToLower() == "pib_pdno" || dt.Columns[i].ColumnName.ToLower() == "pib_ifpick" || dt.Columns[i].ColumnName.ToLower() == "pib_ifprint" || dt.Columns[i].ColumnName.ToLower() == "pib_datecode1" || dt.Columns[i].ColumnName.ToLower() == "pr_vendprodcode")
-                    //            {
-                    //                dt.Columns.RemoveAt(i);
-                    //                break;
-                    //            }
-                    //            switch (dt.Columns[i].ColumnName.ToLower())
-                    //            {
-                    //                case "pib_lotno":
-                    //                    dt.Columns[i].ColumnName = "批次号";
-                    //                    break;
-                    //                case "pib_datecode":
-                    //                    dt.Columns[i].ColumnName = "生产日期";
-                    //                    break;
-                    //                case "pib_custbarcode":
-                    //                    dt.Columns[i].ColumnName = "最小产品包装条码";
-                    //                    break;
-                    //                default:
-                    //                    break;
-                    //            }
-                    //            if (dt.Columns[i].ColumnName.ToLower() == LabelInf.Columns[j].DataPropertyName.ToLower())
-                    //            {
-                    //                dt.Columns[i].ColumnName = LabelInf.Columns[j].HeaderText;
-                    //                break;
-                    //            }
-                    //        }
-                    //    }
-                    //    eh.ExportExcel(dt, ExportFileDialog.SelectedPath, pi_date.Text + "-" + pi_inoutno.Text);
-                    //    string close = MessageBox.Show(this.ParentForm, "导出成功,是否打开文件", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
-                    //    if (close.ToString() == "Yes")
-                    //        System.Diagnostics.Process.Start(ExportFileDialog.SelectedPath + "\\" + pi_date.Text + "-" + pi_inoutno.Text + ".xls");
-                    //}
+                    switch (SystemInf.Master)
+                    {
+                        case "SZSI_TEST":
+                            ex.StartPosition = FormStartPosition.CenterScreen;
+                            ex.ShowDialog();
+                            break;
+                        case "SZSI":
+                            ex.StartPosition = FormStartPosition.CenterScreen;
+                            ex.ShowDialog();
+                            break;
+                        default:
+                            ExportFileDialog.Description = "选择导出的路径";
+                            result = ExportFileDialog.ShowDialog();
+                            if (result == DialogResult.OK)
+                            {
+                                ExcelHandler eh = new ExcelHandler();
+                                dt = ((DataTable)LabelInf.DataSource).Copy();
+                                for (int i = dt.Columns.Count - 1; i >= 0; i--)
+                                {
+                                    for (int j = 0; j < LabelInf.Columns.Count; j++)
+                                    {
+                                        //去除ID列
+                                        if (dt.Columns[i].ColumnName.ToLower().Contains("id") || dt.Columns[i].ColumnName.ToLower() == "pib_barcode" || dt.Columns[i].ColumnName.ToLower() == "pib_pdno" || dt.Columns[i].ColumnName.ToLower() == "pib_ifpick" || dt.Columns[i].ColumnName.ToLower() == "pib_ifprint" || dt.Columns[i].ColumnName.ToLower() == "pib_datecode1" || dt.Columns[i].ColumnName.ToLower() == "pr_vendprodcode")
+                                        {
+                                            dt.Columns.RemoveAt(i);
+                                            break;
+                                        }
+                                        switch (dt.Columns[i].ColumnName.ToLower())
+                                        {
+                                            case "pib_lotno":
+                                                dt.Columns[i].ColumnName = "批次号";
+                                                break;
+                                            case "pib_datecode":
+                                                dt.Columns[i].ColumnName = "生产日期";
+                                                break;
+                                            case "pib_custbarcode":
+                                                dt.Columns[i].ColumnName = "最小产品包装条码";
+                                                break;
+                                            default:
+                                                break;
+                                        }
+                                        if (dt.Columns[i].ColumnName.ToLower() == LabelInf.Columns[j].DataPropertyName.ToLower())
+                                        {
+                                            dt.Columns[i].ColumnName = LabelInf.Columns[j].HeaderText;
+                                            break;
+                                        }
+                                    }
+                                }
+                                eh.ExportExcel(dt, ExportFileDialog.SelectedPath, pi_date.Text + "-" + pi_inoutno.Text);
+                                string close = MessageBox.Show(this.ParentForm, "导出成功,是否打开文件", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
+                                if (close.ToString() == "Yes")
+                                    System.Diagnostics.Process.Start(ExportFileDialog.SelectedPath + "\\" + pi_date.Text + "-" + pi_inoutno.Text + ".xls");
+                            }
+                            break;
+                    }
                     break;
                 case "权限设置":
                     PowerSetting pw = new PowerSetting();