数据导出到excel

来源:互联网 发布:new balance跑鞋 知乎 编辑:程序博客网 时间:2024/05/29 17:32
 public void ExportToExcel()
        {
            // DataTable dt = MySqlHelper.ExecuteDataTable(connStr, string.Format("select ts.mac,ts.score,tn.device_status from test_score ts LEFT JOIN test_now tn on ts.mac=tn.mac where ts.test_id={0} and ts.caiji_time=DATE_SUB(NOW(),INTERVAL 2 SECOND) group by ts.mac,ts.caiji_time", mw.TestNumberTBK.Text), new MySqlParameter[] { });

            //System.Data.DataTable dt = new System.Data.DataTable(); 

//查询数据

            System.Data.DataTable dt = MySqlHelper.ExecuteDataTable(connStr, string.Format("SELECT ts.create_time,ts.caiji_time,ts.mac,ts.score,th.hard_id,tu.address,tu.income,tu.user_age,tu.user_edu,tu.user_job,tu.user_name,tu.user_sex from test_score ts LEFT JOIN test_hard th ON ts.mac=th.mac LEFT JOIN test_user_bind tub ON ts.test_id=tub.test_id AND th.hard_id=tub.hard_id LEFT JOIN test_user tu on tub.HUMAN_id=tu.HUMAN_id where ts.test_id={0}", mw.TestNumberTBK.Text), new MySqlParameter[] { });
            //创建Excel  


            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
            Workbook excelWB = excelApp.Workbooks.Add(System.Type.Missing);    //创建工作簿(WorkBook:即Excel文件主体本身)  
            Worksheet excelWS = (Worksheet)excelWB.Worksheets[1];   //创建工作表(即Excel里的子表sheet) 1表示在子表sheet1里进行数据导出  
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    excelWS.Cells[i + 1, j + 1] = dt.Rows[i][j].ToString();   //Excel单元格第一个从索引1开始  
                }
            }


            excelWB.SaveAs("F:\\"+mw.TestNameTBK.Text+ ".xlsx");  //将其进行保存到指定的路径  
            excelWB.Close();           
            excelApp.Quit();  //KillAllExcel(excelApp); 释放可能还没释放的进程 
        }
原创粉丝点击