public void ExportReportExcellCheckBox(string MaTacGia) { System.Globalization.CultureInfo vi = new System.Globalization.CultureInfo("vi-VN"); string str_Thongbao = null; string strfilename = "/Bienlaithanhtoan" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; object template = HttpContext.Current.Server.MapPath("~/Template") + "/BIENLAITHANHTOAN.xlt"; string dir_filename = HttpContext.Current.Server.MapPath("~/DataExport") + strfilename; object Missing = System.Reflection.Missing.Value; oExcel = new Excel1.Application(); oWorkBooks = oExcel.Workbooks; oWorkBook = oWorkBooks.Add(template); oSheet = (Excel1.Worksheet)oWorkBook.ActiveSheet; oExcel.Visible = false; oExcel.UserControl = true; try { int _row = 8; int lb = int.Parse(cboAnPham.SelectedValue.ToString()); for (int k = 0; k < ar.Count; k++) { double ID = double.Parse(ar[k].ToString()); DataSet _ds = Daltinbai.Sp_Inbienlaithanhtoannhuanbut(ID, MaTacGia); if (_ds.Tables[0].Rows.Count > 0) { oSheet.get_Range("A4", "A4").Value2 = "Họ tên: " + UltilFunc.GetTenTacGiaTinBai(MaTacGia).ToUpper(); string diachi = UltilFunc.GetDiaChiTacGia(MaTacGia, 1); if (diachi != "") { oSheet.get_Range("A5", "A5").Value2 = "Địa chỉ: " + diachi.ToUpper(); oSheet.get_Range("A5", "A5").WrapText = true; } for (int i = 0; i < _ds.Tables[0].Rows.Count; i++) { oSheet.get_Range("A" + _row.ToString().Trim(), "A" + _row.ToString().Trim()).Value2 = (i + 1).ToString(); if (_ds.Tables[0].Rows[i]["Publish_Date"].ToString() != "") { oSheet.get_Range("B" + _row.ToString().Trim(), "B" + _row.ToString().Trim()).Value2 = Convert.ToDateTime(_ds.Tables[0].Rows[i]["Publish_Date"]).ToString("dd/MM/yyyy"); } else { oSheet.get_Range("B" + _row.ToString().Trim(), "B" + _row.ToString().Trim()).Value2 = ""; } oSheet.get_Range("C" + _row.ToString().Trim(), "C" + _row.ToString().Trim()).Value2 = _ds.Tables[0].Rows[i]["Tieude"].ToString(); oSheet.get_Range("D" + _row.ToString().Trim(), "D" + _row.ToString().Trim()).Value2 = _ds.Tables[0].Rows[i]["DiemTin"].ToString(); _row++; } } } oSheet.get_Range("C8", "C" + _row.ToString().Trim()).WrapText = true; oSheet.get_Range("A8", "A" + _row.ToString().Trim()).Cells.RowHeight = 25; oSheet.get_Range("A7", "D" + _row.ToString().Trim()).Borders.LineStyle = Excel1.XlLineStyle.xlContinuous; oSheet.get_Range("D" + _row.ToString().Trim(), "D" + _row.ToString().Trim()).Value2 = "=SUM(D8:E" + (_row - 1) + ")"; oSheet.get_Range("D" + _row.ToString().Trim(), "D" + _row.ToString().Trim()).Font.Bold = true; oSheet.get_Range("D" + _row.ToString().Trim(), "D" + _row.ToString().Trim()).HorizontalAlignment = Excel1.Constants.xlRight; oSheet.get_Range("A" + _row.ToString().Trim(), "C" + _row.ToString().Trim()).MergeCells = true; oSheet.get_Range("A" + _row.ToString().Trim(), "C" + _row.ToString().Trim()).Value2 = "TỔNG TIỀN:"; oSheet.get_Range("A" + _row.ToString().Trim(), "A" + _row.ToString().Trim()).HorizontalAlignment = Excel1.Constants.xlRight; oSheet.get_Range("C" + (_row + 1).ToString().Trim(), "C" + (_row + 1).ToString().Trim()).Value2 = "Số tiền bằng chữ:"; oSheet.get_Range("C" + (_row + 1).ToString().Trim(), "C" + (_row + 1).ToString().Trim()).Font.Name = "Times New Roman"; oSheet.get_Range("C" + (_row + 1).ToString().Trim(), "C" + (_row + 1).ToString().Trim()).Font.Size = 13; oSheet.get_Range("B" + (_row + 1).ToString().Trim(), "D" + (_row + 1).ToString().Trim()).MergeCells = true; oSheet.get_Range("A" + (_row + 2).ToString().Trim(), "D" + (_row + 2).ToString().Trim()).MergeCells = true; oSheet.get_Range("A" + (_row + 2).ToString().Trim(), "D" + (_row + 2).ToString().Trim()).Value2 = "Ngày " + DateTime.Now.Day + " tháng " + DateTime.Now.Month + " năm " + DateTime.Now.Year; oSheet.get_Range("A" + (_row + 2).ToString().Trim(), "D" + (_row + 2).ToString().Trim()).HorizontalAlignment = Excel1.Constants.xlRight; oSheet.get_Range("A" + (_row + 2).ToString().Trim(), "D" + (_row + 2).ToString().Trim()).Font.Size = 11; oSheet.get_Range("A" + (_row + 3).ToString().Trim(), "D" + (_row + 3).ToString().Trim()).MergeCells = true; oSheet.get_Range("A" + (_row + 3).ToString().Trim(), "D" + (_row + 3).ToString().Trim()).Value2 = "NGƯỜI NHẬN TIỀN NGƯỜI TRẢ TIỀN"; oSheet.get_Range("A" + (_row + 3).ToString().Trim(), "D" + (_row + 3).ToString().Trim()).Font.Bold = true; oSheet.get_Range("A" + (_row + 3).ToString().Trim(), "D" + (_row + 3).ToString().Trim()).Font.Size = 13; } catch (Exception ex) { str_Thongbao = ex.ToString(); } finally { object filename = @dir_filename; oWorkBook.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Missing, Missing, Missing, Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, Missing, Missing, Missing, Missing, Missing); if (oSheet != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet); oSheet = null; } if (oWorkBook != null) { oWorkBook.Close(Missing, @dir_filename, Missing); System.Runtime.InteropServices.Marshal.ReleaseComObject(oWorkBook); oWorkBook = null; } if (oExcel != null) { oExcel.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel); oExcel = null; } GC.Collect(); GC.WaitForPendingFinalizers(); foreach (System.Diagnostics.Process proc in System.Diagnostics.Process.GetProcessesByName("EXCEL.exe")) { proc.Kill(); } Page.Response.Redirect("~/DataExport/" + strfilename); } }