using SQLHelper; 
 | 
using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.IO; 
 | 
using System.Linq; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
  
 | 
namespace WorkM.报表分析 
 | 
{ 
 | 
    public partial class Mes_ProductionLinePackagingList : Form 
 | 
    { 
 | 
        public Mes_ProductionLinePackagingList() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public string ViewName = "h_v_ProductionLinePackagingList"; 
 | 
        public string ModCaption = "包装报表"; 
 | 
        public const string ModName = "1250"; 
 | 
        public string sDlgWhere = "";  //外窗体递入 
 | 
        public int selectRow = 0; 
 | 
        private void yl_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DataGridViewToExcel2(grdMain, this.Text, this.Text); 
 | 
        } 
 | 
  
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Display(); 
 | 
        } 
 | 
        private void Display() 
 | 
        { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            StringBuilder whereBuilder = new StringBuilder(); 
 | 
            if (!string.IsNullOrEmpty(textBox3.Text)) 
 | 
                whereBuilder.Append(" and 条码 like '%" + textBox3.Text + "%'"); 
 | 
            var execSql = "select top 1000 * from  h_v_ProductionLinePackagingList where 1=1 " + whereBuilder.ToString(); 
 | 
            DataSet DSet = SubCn.RunProcReturn(execSql, ViewName); 
 | 
            //生成首行标题 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("没有返回任何结果!" + DBUtility.ClsPub.sExeReturnInfo); 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            grdMain.DataSource = DSet.Tables[0].DefaultView; 
 | 
        } 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Close(); 
 | 
        } 
 | 
        /// <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() + "毫秒"); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |