Пример #1
0
 private void HienThiDS()
 {
     try
     {
         tbltienthanhtoanBL ctr = new tbltienthanhtoanBL();
         DataTable          dt  = new DataTable();
         dt = ctr.GetByIDHD(sidhd);
         dt.Columns.Add("tt", typeof(Int32));
         c1FlexGrid1.DataSource = dt;
         FormatGrid();
     }
     catch { }
 }
Пример #2
0
        private void Save()
        {
            string                  kq  = "";
            tbltienthanhtoanBL      ctr = new tbltienthanhtoanBL();
            List <tbltienthanhtoan> lst = new List <tbltienthanhtoan>();

            lst = GetListTienThanhToan();
            for (int i = 0; i < lst.Count; i++)
            {
                tbltienthanhtoan temp = new tbltienthanhtoan();
                temp = ctr.GetByID(lst[i].id);
                if (temp == null)
                {
                    try
                    {
                        kq = ctr.Insert(lst[i]);
                    }
                    catch { break; }
                    _ctrlog.Append(Data.use, "Thêm mới tiền thanh toán ngày: " + lst[i].ngaytt.ToString("dd/MM/yyyy HH:mm:ss")
                                   + " số tiền: " + lst[i].tientt.ToString("N0", CultureInfo.InvariantCulture)
                                   + " cho hóa đơn của khách hàng: " + lbTenKH.Text
                                   + " xuất ngày: " + lbNgayXuat.Text);
                }
                else
                {
                    try
                    {
                        kq = ctr.Update(lst[i]);
                    }
                    catch { break; }
                    _ctrlog.Append(Data.use, "Cập nhật tiền thanh toán ngày: " + lst[i].ngaytt.ToString("dd/MM/yyyy HH:mm:ss")
                                   + " từ số tiền: " + temp.tientt.ToString("N0", CultureInfo.InvariantCulture)
                                   + " thành số tiền: " + lst[i].tientt.ToString("N0", CultureInfo.InvariantCulture)
                                   + " cho hóa đơn của khách hàng: " + lbTenKH.Text
                                   + " xuất ngày: " + lbNgayXuat.Text);
                }
            }
            if (kq.Trim().Equals("") == true)
            {
                MessageBox.Show("Cập nhật tiền thanh toán cho hóa đơn thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                HienThiDS();
            }
        }
Пример #3
0
        private void Del()
        {
            tbltienthanhtoanBL ctr = new tbltienthanhtoanBL();

            if (c1FlexGrid1.Rows.Count - 1 > 0)
            {
                string sid = c1FlexGrid1[c1FlexGrid1.RowSel, "id"].ToString().Trim();
                if (sid.Trim().Equals("") == false)
                {
                    if (c1FlexGrid1.Rows[c1FlexGrid1.RowSel].AllowEditing == false)
                    {
                        MessageBox.Show("Bạn không thể xóa bản ghi này.\nĐể xóa được bạn vui lòng xóa hóa đơn bán.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    tbltienthanhtoan temp = new tbltienthanhtoan();
                    temp = ctr.GetByID(sid);
                    string kq = "";
                    kq = ctr.Delete(sid);
                    if (kq.Trim().Equals("") == true)
                    {
                        try
                        {
                            _ctrlog.Append(Data.use, "Xóa tiền thanh toán ngày: " + temp.ngaytt.ToString("dd/MM/yyyy HH:mm:ss")
                                           + " số tiền: " + temp.tientt.ToString("N0", CultureInfo.InvariantCulture)
                                           + " cho hóa đơn của khách hàng: " + lbTenKH.Text
                                           + " xuất ngày: " + lbNgayXuat.Text);
                        }
                        catch { }
                        MessageBox.Show("Xóa tiền thanh toán cho hóa đơn thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        HienThiDS();
                    }
                }
                else
                {
                    c1FlexGrid1.Rows.Remove(c1FlexGrid1.RowSel);
                }
            }
        }
Пример #4
0
        private void Save()
        {
            string             kq         = "";
            tbltienthanhtoanBL ctrtientt  = new tbltienthanhtoanBL();
            tblmathangBL       ctrmathang = new tblmathangBL();
            tblhoadontraBL     ctrhoadon  = new tblhoadontraBL();
            tblhoadontra       objhoadon  = new tblhoadontra();

            objhoadon = GetDataHoaDon();
            tblmathangtraBL      ctrmathangban = new tblmathangtraBL();
            List <tblmathangtra> lstmathang    = new List <tblmathangtra>();

            lstmathang = GetListMatHangTra();
            if (lstmathang != null)
            {
                if (objhoadon != null && lstmathang.Count > 0)
                {
                    if (txtID.Text.Trim().Equals("-1") == true)
                    {
                        kq = ctrhoadon.Insert(objhoadon);
                        if (kq.Trim().Equals("") == true)
                        {
                            txtID.Text = objhoadon.id.Trim();
                        }
                    }
                    else
                    {
                        kq = ctrhoadon.Update(objhoadon);
                        _ctrlog.Append(Data.use, "Sửa hóa đơn trả lại hàng của khách hàng: " + cbKhachHang.Text.Trim() + " ; id: " + objhoadon.id);
                    }
                    if (kq.Trim().Equals("") == true)
                    {
                        for (int i = 0; i < lstmathang.Count; i++)
                        {
                            tblmathangtra temp = new tblmathangtra();
                            temp = ctrmathangban.GetByID(lstmathang[i].id);
                            if (temp == null)
                            {
                                lstmathang[i].id_hoadon = objhoadon.id;
                                kq = ctrmathangban.Insert(lstmathang[i]);
                                if (kq.Trim().Equals("") == false)
                                {
                                    ctrhoadon.Delete(objhoadon.id);
                                    break;
                                }
                                else //Cập nhật lại số lượng còn trong kho
                                {
                                    tblmathang objmathang = new tblmathang();
                                    objmathang         = ctrmathang.GetByID(lstmathang[i].id_mathang.Trim());
                                    objmathang.soluong = objmathang.soluong + lstmathang[i].soluong;
                                    ctrmathang.Update(objmathang);
                                }
                            }
                            else
                            {
                                lstmathang[i].id_hoadon = objhoadon.id;
                                kq = ctrmathangban.Update(lstmathang[i]);
                                if (kq.Trim().Equals("") == false)
                                {
                                    break;
                                }
                                else //Cập nhật lại số lượng còn trong kho
                                {
                                    tblmathang objmathang = new tblmathang();
                                    objmathang         = ctrmathang.GetByID(lstmathang[i].id_mathang.Trim());
                                    objmathang.soluong = (objmathang.soluong - temp.soluong) + lstmathang[i].soluong;
                                    ctrmathang.Update(objmathang);
                                }
                            }
                        }
                        if (kq.Trim().Equals("") == false)
                        {
                            MessageBox.Show("Lỗi cập nhật hóa đơn trả lại hàng.\nChi tiết lỗi: " + kq, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        else
                        {
                            if (txtID.Text.Trim().Equals("-1") == true)
                            {
                                txtID.Text = objhoadon.id.Trim();
                                _ctrlog.Append(Data.use, "Thêm mới hóa đơn trả lại hàng cho khách hàng: " + cbKhachHang.Text.Trim() + " ; id: " + objhoadon.id);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Lỗi cập nhật hóa đơn trả lại hàng.\nChi tiết lỗi: " + kq, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
            if (kq.Trim().Equals("") == true && lstmathang != null)
            {
                MessageBox.Show("Cập nhật hóa đơn trả lại hàng thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                HienThiTTHoaDon();
                HienThiDSMatHang();
                ultraToolbarsManager1.Tools["btn_Del"].SharedProps.Visible     = true;
                ultraToolbarsManager1.Tools["btnExportHD"].SharedProps.Visible = true;
            }
        }
Пример #5
0
        private void Save()
        {
            string             kq         = "";
            tbltienthanhtoanBL ctrtientt  = new tbltienthanhtoanBL();
            tblmathangBL       ctrmathang = new tblmathangBL();
            tblhoadonbanBL     ctrhoadon  = new tblhoadonbanBL();
            tblhoadonban       objhoadon  = new tblhoadonban();

            objhoadon = GetDataHoaDon();
            tblmathangbanBL      ctrmathangban = new tblmathangbanBL();
            List <tblmathangban> lstmathang    = new List <tblmathangban>();

            lstmathang = GetListMatHangBan();
            if (objhoadon != null && lstmathang != null)
            {
                if (txtID.Text.Trim().Equals("-1") == true)
                {
                    kq = ctrhoadon.Insert(objhoadon);
                    if (kq.Trim().Equals("") == true)
                    {
                        //txtID.Text = objhoadon.id.Trim();
                        tbltienthanhtoan objtientt = new tbltienthanhtoan();
                        objtientt.id     = Guid.NewGuid().ToString().Trim();
                        objtientt.idhd   = objhoadon.id;
                        objtientt.ngaytt = objhoadon.ngaytao;
                        objtientt.tientt = objhoadon.tienthanhtoan;
                        ctrtientt.Insert(objtientt);
                    }
                }
                else
                {
                    kq = ctrhoadon.Update(objhoadon);
                    tbltienthanhtoan objtientt = new tbltienthanhtoan();
                    objtientt = ctrtientt.GetByIDHDvsNgayTT(objhoadon.id, objhoadon.ngaytao);
                    if (objtientt != null)
                    {
                        objtientt.tientt = objhoadon.tienthanhtoan;
                        ctrtientt.Update(objtientt);
                    }
                    else
                    {
                        objtientt        = new tbltienthanhtoan();
                        objtientt.id     = Guid.NewGuid().ToString().Trim();
                        objtientt.idhd   = objhoadon.id;
                        objtientt.ngaytt = objhoadon.ngaytao;
                        objtientt.tientt = objhoadon.tienthanhtoan;
                        ctrtientt.Insert(objtientt);
                    }
                    //_ctrlog.Append(Data.use, "Sửa hóa đơn cho khách hàng: " + txtTenKH.Text.Trim() + " ; id: " + objhoadon.id);
                    _ctrlog.Append(Data.use, "Sửa hóa đơn cho khách hàng: " + txtTenKH.Text.Trim() + " xuất ngày: " + txtNgayXuat.Text.Trim()
                                   + "; id: " + objhoadon.id
                                   + ";\nChi tiết: Tổng tiền hàng: " + txtTongTien.Text + " - Nợ cũ: " + txtNoToaTruoc.Text
                                   + " - Tiền thanh toán: " + txtTienThanhToan.Text + " - Tổng nợ mới: " + txtConNo.Text);
                }
                if (kq.Trim().Equals("") == true)
                {
                    if (lstmathang != null)
                    {
                        if (objhoadon != null && lstmathang.Count > 0)
                        {
                            for (int i = 0; i < lstmathang.Count; i++)
                            {
                                tblmathangban temp = new tblmathangban();
                                temp = ctrmathangban.GetByID(lstmathang[i].id);
                                if (temp == null)
                                {
                                    lstmathang[i].id_hoadon = objhoadon.id;
                                    kq = ctrmathangban.Insert(lstmathang[i]);
                                    if (kq.Trim().Equals("") == false)
                                    {
                                        ctrhoadon.Delete(objhoadon.id);
                                        break;
                                    }
                                    else //Cập nhật lại số lượng còn trong kho
                                    {
                                        tblmathang objmathang = new tblmathang();
                                        objmathang         = ctrmathang.GetByID(lstmathang[i].id_mathang.Trim());
                                        objmathang.soluong = objmathang.soluong - lstmathang[i].soluong;
                                        ctrmathang.Update(objmathang);
                                    }
                                }
                                else
                                {
                                    lstmathang[i].id_hoadon = objhoadon.id;
                                    kq = ctrmathangban.Update(lstmathang[i]);
                                    if (kq.Trim().Equals("") == false)
                                    {
                                        break;
                                    }
                                    else //Cập nhật lại số lượng còn trong kho
                                    {
                                        tblmathang objmathang = new tblmathang();
                                        objmathang         = ctrmathang.GetByID(lstmathang[i].id_mathang.Trim());
                                        objmathang.soluong = (objmathang.soluong + temp.soluong) - lstmathang[i].soluong;
                                        ctrmathang.Update(objmathang);
                                    }
                                }
                            }
                            if (kq.Trim().Equals("") == false)
                            {
                                MessageBox.Show("Lỗi cập nhật hóa đơn.\nChi tiết lỗi: " + kq, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return;
                            }
                            else
                            {
                                if (txtID.Text.Trim().Equals("-1") == true)
                                {
                                    txtID.Text = objhoadon.id.Trim();
                                    _ctrlog.Append(Data.use, "Thêm mới hóa đơn cho khách hàng: " + txtTenKH.Text.Trim() + " xuất ngày: " + txtNgayXuat.Text.Trim()
                                                   + "; id: " + objhoadon.id
                                                   + ";\nChi tiết: Tổng tiền hàng: " + txtTongTien.Text + " - Nợ cũ: " + txtNoToaTruoc.Text
                                                   + " - Tiền thanh toán: " + txtTienThanhToan.Text + " - Tổng nợ mới: " + txtConNo.Text);
                                }
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Lỗi cập nhật hóa đơn.\nChi tiết lỗi: " + kq, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            if (kq.Trim().Equals("") == true && lstmathang != null)
            {
                MessageBox.Show("Cập nhật hóa đơn bán thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                HienThiTTHoaDon();
                HienThiDSMatHang();
                ultraToolbarsManager1.Tools["btn_Del"].SharedProps.Visible     = true;
                ultraToolbarsManager1.Tools["btnExportHD"].SharedProps.Visible = true;
            }
        }
Пример #6
0
        private void Save()
        {
            string             kq         = "";
            tbltienthanhtoanBL ctrtientt  = new tbltienthanhtoanBL();
            tblmathangBL       ctrmathang = new tblmathangBL();
            tblhoadontraBL     ctrhoadon  = new tblhoadontraBL();
            tblhoadontra       objhoadon  = new tblhoadontra();

            objhoadon = GetDataHoaDon();
            tblmathangtraBL      ctrmathangban = new tblmathangtraBL();
            List <tblmathangtra> lstmathang    = new List <tblmathangtra>();

            lstmathang = GetListMatHangTra();
            if (lstmathang != null)
            {
                if (objhoadon != null && lstmathang.Count > 0)
                {
                    if (txtID.Text.Trim().Equals("-1") == true)
                    {
                        kq = ctrhoadon.Insert(objhoadon);
                    }
                    else
                    {
                        kq = ctrhoadon.Update(objhoadon);
                    }
                    if (kq.Trim().Equals("") == true)
                    {
                        _ctrlog.Append(Data.use, "Sửa hóa đơn trả lại hàng của khách hàng: " + cbKhachHang.Text.Trim() + " ; id: " + objhoadon.id);
                        for (int i = 0; i < lstmathang.Count; i++)
                        {
                            tblmathangtra temp = new tblmathangtra();
                            temp = ctrmathangban.GetByID(lstmathang[i].id);
                            if (temp == null)
                            {
                                lstmathang[i].id_hoadon = objhoadon.id;
                                kq = ctrmathangban.Insert(lstmathang[i]);
                                if (kq.Trim().Equals("") == false)
                                {
                                    ctrhoadon.Delete(objhoadon.id);
                                    break;
                                }
                                else //Cập nhật lại số lượng còn trong kho
                                {
                                    tblmathang objmathang = new tblmathang();
                                    objmathang         = ctrmathang.GetByID(lstmathang[i].id_mathang.Trim());
                                    objmathang.soluong = objmathang.soluong + lstmathang[i].soluong;
                                    ctrmathang.Update(objmathang);
                                }
                            }
                            else
                            {
                                lstmathang[i].id_hoadon = objhoadon.id;
                                kq = ctrmathangban.Update(lstmathang[i]);
                                if (kq.Trim().Equals("") == false)
                                {
                                    break;
                                }
                                else //Cập nhật lại số lượng còn trong kho
                                {
                                    tblmathang objmathang = new tblmathang();
                                    objmathang         = ctrmathang.GetByID(lstmathang[i].id_mathang.Trim());
                                    objmathang.soluong = (objmathang.soluong - temp.soluong) + lstmathang[i].soluong;
                                    ctrmathang.Update(objmathang);
                                }
                            }
                        }
                        if (kq.Trim().Equals("") == false)
                        {
                            MessageBox.Show("Lỗi cập nhật hóa đơn trả lại hàng.\nChi tiết lỗi: " + kq, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        else
                        {
                            if (txtID.Text.Trim().Equals("-1") == true)
                            {
                                txtID.Text = objhoadon.id.Trim();
                                _ctrlog.Append(Data.use, "Thêm mới hóa đơn trả lại hàng cho khách hàng: " + cbKhachHang.Text.Trim() + " ; id: " + objhoadon.id);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Lỗi cập nhật hóa đơn trả lại hàng.\nChi tiết lỗi: " + kq, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
            if (kq.Trim().Equals("") == true && lstmathang != null)
            {
                MessageBox.Show("Cập nhật hóa đơn trả lại hàng thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                HienThiDSHoaDon();
                int irowsfind = 0;
                irowsfind = flxHoaDon.FindRow(objhoadon.id, 1, flxHoaDon.Cols["id"].Index, true);
                flxHoaDon.Select(irowsfind, flxHoaDon.Cols["ngaytao"].Index, true);
                string sidhdtemp = ""; try { sidhdtemp = flxHoaDon[irowsfind, "id"].ToString().Trim(); }
                catch { }
                HienThiTTHoaDon(sidhdtemp);
                HienThiDSMatHang(sidhdtemp);
            }
        }
Пример #7
0
 private string GenerateWorksheet(WorksheetCollection sheets, DateTime dtdenngay, DataTable dtkh, ProgressBar progressBar)
 {
     try
     {
         tblhoadonbanBL     ctrhdb        = new tblhoadonbanBL();
         tblhoadonban       objhdb        = new tblhoadonban();
         tblmathangbanBL    ctrmathangban = new tblmathangbanBL();
         tbltienthanhtoanBL ctrtiendatt   = new tbltienthanhtoanBL();
         Worksheet          sheet         = sheets.Add("TKCongNo");
         sheet.Table.DefaultRowHeight    = 15F;
         sheet.Table.ExpandedColumnCount = 6;
         sheet.Table.ExpandedRowCount    = 5 + dtkh.Rows.Count;
         sheet.Table.FullColumns         = 1;
         sheet.Table.FullRows            = 1;
         sheet.Table.Columns.Add(36);
         sheet.Table.Columns.Add(75);
         sheet.Table.Columns.Add(138);
         sheet.Table.Columns.Add(99);
         sheet.Table.Columns.Add(191);
         sheet.Table.Columns.Add(131);
         // -----------------------------------------------
         #region Add Header
         Application.DoEvents();
         progressBar.PerformStep();
         Application.DoEvents();
         WorksheetRow Row0 = sheet.Table.Rows.Add();
         Row0.Height = 20;
         WorksheetCell cell;
         cell             = Row0.Cells.Add();
         cell.StyleID     = "s103";
         cell.Data.Type   = DataType.String;
         cell.Data.Text   = "TỔNG HỢP CÔNG NỢ BÁN HÀNG";
         cell.MergeAcross = 5;
         // -----------------------------------------------
         WorksheetRow Row1 = sheet.Table.Rows.Add();
         cell             = Row1.Cells.Add();
         cell.StyleID     = "s104";
         cell.Data.Type   = DataType.String;
         cell.Data.Text   = "(Số liệu tính đến ngày " + dtdenngay.ToString("dd/MM/yyyy") + ")";
         cell.MergeAcross = 5;
         // -----------------------------------------------
         WorksheetRow Row2 = sheet.Table.Rows.Add();
         cell             = Row2.Cells.Add();
         cell.StyleID     = "s102";
         cell.Data.Type   = DataType.String;
         cell.Data.Text   = "Đơn vị tính: VNĐ";
         cell.MergeAcross = 5;
         // -----------------------------------------------
         WorksheetRow Row3 = sheet.Table.Rows.Add();
         Row3.Height = 15;
         Row3.Cells.Add("Stt", DataType.String, "s120");
         Row3.Cells.Add("Cấp đại lý", DataType.String, "s120");
         Row3.Cells.Add("Tên khách hàng", DataType.String, "s120");
         Row3.Cells.Add("Điện thoại", DataType.String, "s120");
         Row3.Cells.Add("Địa chỉ", DataType.String, "s120");
         Row3.Cells.Add("Tổng tiền còn nợ", DataType.String, "s120");
         #endregion
         // -----------------------------------------------
         #region Add Content
         for (int i = 0; i < dtkh.Rows.Count; i++)
         {
             Application.DoEvents();
             progressBar.PerformStep();
             Application.DoEvents();
             string sidkh = "";
             try { sidkh = dtkh.Rows[i]["id"].ToString().Trim(); }
             catch { sidkh = "-/-"; }
             string scapdl = "";
             try { scapdl = dtkh.Rows[i]["id_capdl"].ToString().Trim(); }
             catch { scapdl = "-/-"; }
             string stenkh = "";
             try { stenkh = dtkh.Rows[i]["tenkh"].ToString().Trim(); }
             catch { stenkh = "-/-"; }
             string sdt = "";
             try { sdt = dtkh.Rows[i]["dt"].ToString().Trim(); }
             catch { sdt = "-/-"; }
             string sdiachi = "";
             try { sdiachi = dtkh.Rows[i]["diachi"].ToString().Trim(); }
             catch { sdiachi = "-/-"; }
             if (sidkh.Trim().Equals("") == false)
             {
                 // Lấy hóa đơn gần với ngày thống kê nhất
                 objhdb = new tblhoadonban();
                 Application.DoEvents();
                 progressBar.PerformStep();
                 Application.DoEvents();
                 objhdb = ctrhdb.GetNewFirstByNgayTaovsIDKH(dtdenngay.AddDays(1).ToString("yyyy/MM/dd").Trim(), sidkh);
                 if (objhdb != null)
                 {
                     double tienmuahang = 0;
                     try { tienmuahang = ctrmathangban.GetTongTienByIDHD(objhdb.id); }
                     catch { }
                     //double tientt = 0;
                     //tientt = objhdb.tienthanhtoan;
                     double chietkhau = 0;
                     chietkhau = objhdb.chietkhau;
                     double tiendatt = 0;
                     try { tiendatt = ctrtiendatt.GetTienDaThanhToan(objhdb.id); }
                     catch { }
                     double tienconnotoatruoc = 0;
                     try { tienconnotoatruoc = ctrhdb.GetTienConNo(objhdb.id_khachhang, objhdb.ngaytao); }
                     catch { }
                     double tienconno = 0;
                     tienconno = ((tienmuahang - tiendatt - chietkhau) + tienconnotoatruoc);
                     Application.DoEvents();
                     progressBar.PerformStep();
                     Application.DoEvents();
                     WorksheetRow Row = sheet.Table.Rows.Add();
                     Row.Cells.Add((i + 1).ToString(), DataType.Number, "s97");
                     Row.Cells.Add(scapdl, DataType.String, "s132");
                     Row.Cells.Add(stenkh, DataType.String, "s132");
                     Row.Cells.Add(sdt, DataType.String, "s132");
                     Row.Cells.Add(sdiachi, DataType.String, "s132");
                     Row.Cells.Add(tienconno.ToString().Trim(), DataType.Number, "s126");
                 }
             }
         }
         #endregion
         // -----------------------------------------------
         #region Tính tổng các dòng
         Application.DoEvents();
         progressBar.PerformStep();
         Application.DoEvents();
         WorksheetRow Row7 = sheet.Table.Rows.Add();
         Row7.Height      = 15;
         cell             = Row7.Cells.Add();
         cell.StyleID     = "s107";
         cell.Data.Type   = DataType.String;
         cell.Data.Text   = "TỔNG CỘNG";
         cell.MergeAcross = 4;
         cell             = Row7.Cells.Add();
         cell.StyleID     = "s133";
         cell.Data.Type   = DataType.Number;
         cell.Formula     = "=SUM(R[-" + dtkh.Rows.Count.ToString() + "]C:R[-1]C)";
         #endregion
         // -----------------------------------------------
         //  Options
         // -----------------------------------------------
         sheet.Options.Selected                     = true;
         sheet.Options.ProtectObjects               = false;
         sheet.Options.ProtectScenarios             = false;
         sheet.Options.PageSetup.Header.Margin      = 0.3F;
         sheet.Options.PageSetup.Footer.Margin      = 0.3F;
         sheet.Options.PageSetup.PageMargins.Bottom = 0.75F;
         sheet.Options.PageSetup.PageMargins.Left   = 0.7F;
         sheet.Options.PageSetup.PageMargins.Right  = 0.7F;
         sheet.Options.PageSetup.PageMargins.Top    = 0.75F;
         sheet.Options.Print.HorizontalResolution   = 300;
         sheet.Options.Print.VerticalResolution     = 0;
         sheet.Options.Print.ValidPrinterInfo       = true;
         return("");
     }
     catch (Exception ex) { return(ex.Message); }
 }