雅琪诺MES智能条码管理系统
zgq
2021-01-21 c40eecdf100bc5fb5007abbfb6dbe355e7d78f6e
SCM/µ¥¾Ý×ÊÁÏ/Gy_BarCodeMain.cs
@@ -3,6 +3,7 @@
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
@@ -41,7 +42,7 @@
                MessageBox.Show("开始时间不能大于截至时间");
                return;
            }
            whereBuilder.Append(" and a.FDATE>''" + dateTimePicker1.Text+ "'' and a.FDATE<''" + dateTimePicker2.Text+"''");
            whereBuilder.Append(" and a.FDATE>''" + dateTimePicker1.Text+ "'' and a.FDATE<''" + dateTimePicker2.Text+" 23:59:59''");
            if (!string.IsNullOrEmpty(txtHBillNo.Text))
                whereBuilder.Append(" and a.FBILLNO like ''%" + txtHBillNo.Text+"%''");
            if (!string.IsNullOrEmpty(textBox1.Text))
@@ -59,10 +60,99 @@
            //
            grdMain.DataSource = DSet.Tables[0].DefaultView;
        }
        /// <summary>
        /// ç½‘æ ¼ å¯¼å‡ºEXCEL   ç½‘格,文件名,标题名
        /// </summary>
        public static void DataGridViewToExcel2(DataGridView grdMain, string sText, string sBTText)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Execl文件(*.xls)|*.xls";
            saveFileDialog.FilterIndex = 0;
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.CreatePrompt = true;
            saveFileDialog.Title = "数据视图导出EXCEL文件";
            saveFileDialog.FileName = sText;
            //saveFileDialog.ShowDialog();
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                Stream myStream;
                myStream = saveFileDialog.OpenFile();
                StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
                string str = "";
                DateTime start = DateTime.Now;
                try
                {
                    if (sBTText != "")
                    {
                        sw.WriteLine(sBTText);
                    }
                    //写标题
                    bool sFirstCol = true;
                    for (int i = 0; i < grdMain.ColumnCount; i++)
                    {
                        if (i > 0 && grdMain.Columns[i].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[i].HeaderText.Substring(0, 1) != "H" && sFirstCol != true)
                        {
                            str += "\t";
                        }
                        if (grdMain.Columns[i].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[i].HeaderText.Substring(0, 1) != "H")
                        {
                            sFirstCol = false;
                            str += grdMain.Columns[i].HeaderText;
                        }
                    }
                    str = str.Replace("\n", "");
                    sw.WriteLine(str);
                    //写内容
                    for (int j = 0; j < grdMain.Rows.Count; j++)
                    {
                        string tempStr = "";
                        sFirstCol = true;
                        for (int k = 0; k < grdMain.Columns.Count; k++)
                        {
                            if (k > 0 && grdMain.Columns[k].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[k].HeaderText.Substring(0, 1) != "H" && sFirstCol != true)
                            {
                                tempStr += "\t";
                            }
                            if (grdMain.Columns[k].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[k].HeaderText.Substring(0, 1) != "H")
                            {
                                sFirstCol = false;
                                if (grdMain.Rows[j].Cells[k].Value == null)
                                {
                                    tempStr += string.Empty;
                                }
                                else
                                {
                                    tempStr += grdMain.Rows[j].Cells[k].Value.ToString();
                                }
                            }
                        }
                        tempStr = tempStr.Replace("\n", "");
                        sw.WriteLine(tempStr);
                    }
                    sw.Close();
                    myStream.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    sw.Close();
                    myStream.Close();
                }
                MessageBox.Show("将此工作表导出为excel共耗时:" + DateTime.Now.Subtract(start).TotalMilliseconds.ToString() + "毫秒");
            }
        }
        private void tc_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void yl_Click(object sender, EventArgs e)
        {
            DataGridViewToExcel2(grdMain, this.Text, this.Text);
        }
    }
}