导出excel 不保存,下载,该如何解决

导出excel 不保存,下载




    public void DataTableToExcel_03(DataTable dt, string defaultFileName)
    {


        Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application();
        excel1.DisplayAlerts = false;
        Microsoft.Office.Interop.Excel.Workbook workbook1 = excel1.Workbooks.Add(Type.Missing);
        excel1.Visible = false;
        Microsoft.Office.Interop.Excel.Worksheet worksheet1 = (Microsoft.Office.Interop.Excel.Worksheet)workbook1.Worksheets["sheet1"];
        //表头    
        Microsoft.Office.Interop.Excel.Range rgTitle = worksheet1.get_Range(worksheet1.Cells[1, 1], worksheet1.Cells[1, 8]);
        rgTitle.Merge(rgTitle.MergeCells);
        rgTitle.Borders.LineStyle = 1;
        rgTitle.Font.Name = "黑体";
        rgTitle.Font.Size = 11;
        rgTitle.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
        worksheet1.Cells[1, 1] = "(6月份下半月)11";







        Microsoft.Office.Interop.Excel.Range rgrq = worksheet1.get_Range(worksheet1.Cells[2, 1], worksheet1.Cells[2, 2]);
        rgrq.ColumnWidth = 10;
        rgrq.Merge(rgrq.MergeCells);
        rgrq.Borders.LineStyle = 1;
        rgrq.Font.Name = "黑体";
        rgrq.Font.Size = 11;

        rgrq.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
        worksheet1.Cells[2, 1] = "日期";  //Excel里从第1行,第1列计算  





        Microsoft.Office.Interop.Excel.Range rgzbry = worksheet1.get_Range(worksheet1.Cells[2, 3], worksheet1.Cells[2, 6]);
        rgzbry.Merge(rgzbry.MergeCells);
        rgzbry.Borders.LineStyle = 1;
        rgzbry.Font.Name = "黑体";
        rgzbry.Font.Size = 11;
        rgzbry.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
        worksheet1.Cells[2, 3] = "值班人员";

        worksheet1.Cells[2, 7] = "带班领导";
        worksheet1.Cells[2, 8] = "值班司机";


        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                if (dt.Columns[j].ToString() == "日期" && dt.Rows[i][1].ToString() == "早,晚")
                {
                    Microsoft.Office.Interop.Excel.Range shijian = worksheet1.get_Range(worksheet1.Cells[i + 3, 0 + 1], worksheet1.Cells[i + 3, 0 + 2]);
                    shijian.Merge(shijian.MergeCells);
                    shijian.Borders.LineStyle = 1;
                    shijian.Font.Name = "黑体";
                    shijian.Font.Size = 11;
                    shijian.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
                    worksheet1.Cells[i + 3, 0 + 1] = Convert.ToDateTime(dt.Rows[i][0].ToString()).ToLongDateString().ToString();
                }