Beispiel #1
0
 private void FrmDangNhap_Load(object sender, EventArgs e)
 {
     DAO.OpenConnection();
 }
Beispiel #2
0
 private void cbomhdb_DropDown(object sender, EventArgs e)
 {
     DAO.FillDataToCombo("SELECT SoHDN FROM HoaDonNhap", cbomhdb, "SoHDN", "SoHDN");
     cbomhdb.SelectedIndex = -1;
 }
Beispiel #3
0
 private void button3_Click(object sender, EventArgs e)
 {
     DAO.CloseConnetion();
     Application.Exit();
 }
Beispiel #4
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            string sql;
            double sl, SLcon, tong, Tongmoi;

            sql = "SELECT SoHDN FROM HoaDonNhap WHERE SoHDN=N'" + txtmhdn.Text + "'";
            if (!DAO.checkKeyExit(sql))
            {
                // Mã hóa đơn chưa có, tiến hành lưu các thông tin chung
                // Mã HDBan được sinh tự động do đó không có trường hợp trùng khóa
                if (txtnn.Text.Length == 0)
                {
                    MessageBox.Show("Bạn phải nhập ngày bán", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtnn.Focus();
                    return;
                }
                if (cbomnv.Text.Length == 0)
                {
                    MessageBox.Show("Bạn phải nhập nhân viên", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    cbomnv.Focus();
                    return;
                }
                if (cbomncc.Text.Length == 0)
                {
                    MessageBox.Show("Bạn phải nhập khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    cbomncc.Focus();
                    return;
                }
                sql = "INSERT INTO HoaDonNhap(SoHDN, NgayNhap, MaNhaCC,MaNV, TongTien) VALUES(N'" + txtmhdn.Text.Trim() + "','" + DAO.ConvertDateTime(txtnn.Text.Trim()) + "',N'" + cbomncc.SelectedValue + "', N'" + cbomnv.SelectedValue + "'," + txttongtien.Text + ")";
                DAO.RunSql(sql);
            }
            // Lưu thông tin của các mặt hàng
            if (cboms.Text.Trim().Length == 0)
            {
                MessageBox.Show("Bạn phải nhập sách", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cboms.Focus();
                return;
            }
            if ((txtsl.Text.Trim().Length == 0) || (txtsl.Text == "0"))
            {
                MessageBox.Show("Bạn phải nhập số lượng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtsl.Text = "";
                txtsl.Focus();
                return;
            }
            if (txtgg.Text.Trim().Length == 0)
            {
                MessageBox.Show("Bạn phải nhập giảm giá", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtgg.Focus();
                return;
            }
            sql = "SELECT MaSach FROM ChiTietHDN WHERE MaSach=N'" + cboms.SelectedValue + "' AND SoHDN = N'" + txtmhdn.Text.Trim() + "'";
            if (DAO.checkKeyExit(sql))
            {
                MessageBox.Show("Mã hàng này đã có, bạn phải nhập mã khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                ResetValuesHang();
                cboms.Focus();
                return;
            }
            // Kiểm tra xem số lượng hàng trong kho còn đủ để cung cấp không?
            sl = Convert.ToDouble(DAO.GetFieldValues("SELECT SoLuong FROM KhoSach WHERE MaSach = N'" + cboms.SelectedValue + "'"));
            if (Convert.ToDouble(txtsl.Text) > sl)
            {
                MessageBox.Show("Số lượng mặt hàng này chỉ còn " + sl, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtsl.Text = "";
                txtsl.Focus();
                return;
            }
            sql = "INSERT INTO ChiTietHDN(SoHDN,MaSach,SoLuongNhap,KhuyenMai, ThanhTien) VALUES(N'" + txtmhdn.Text.Trim() + "', N'" + cboms.SelectedValue + "'," + txtsl.Text + "," + txtgg.Text + "," + txtthanhtien.Text + ")";
            DAO.RunSql(sql);
            Load_DataGridViewChitiet();
            // Cập nhật lại số lượng của mặt hàng vào bảng tblHang
            SLcon = sl + Convert.ToDouble(txtsl.Text);
            sql   = "UPDATE KhoSach SET SoLuong =" + SLcon + " WHERE MaSach= N'" + cboms.SelectedValue + "'";
            DAO.RunSql(sql);
            // Cập nhật lại tổng tiền cho hóa đơn bán
            tong    = Convert.ToDouble(DAO.GetFieldValues("SELECT TongTien FROM HoaDonNhap WHERE SoHDN = N'" + txtmhdn.Text + "'"));
            Tongmoi = tong + Convert.ToDouble(txtthanhtien.Text);
            sql     = "UPDATE HoaDonNhap SET TongTien =" + Tongmoi + " WHERE SoHDN = N'" + txtmhdn.Text + "'";
            DAO.RunSql(sql);
            txttongtien.Text = Tongmoi.ToString();
            txtbc.Text       = DAO.ChuyenSoSangChu(Tongmoi.ToString());
            ResetValuesHang();
            btnXoa.Enabled  = true;
            btnThem.Enabled = true;
            btnIn.Enabled   = true;
        }
Beispiel #5
0
        private void btnIn_Click(object sender, EventArgs e)
        {
            COMExcel.Application exApp = new COMExcel.Application();
            COMExcel.Workbook    exBook;  //Trong 1 chương trình Excel có nhiều Workbook
            COMExcel.Worksheet   exSheet; //Trong 1 Workbook có nhiều Worksheet
            COMExcel.Range       exRange;
            string    sql;
            int       hang = 0, cot = 0;
            DataTable tblThongtinHD, tblThongtinHang;

            exBook  = exApp.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet);
            exSheet = exBook.Worksheets[1];
            // Định dạng chung
            exRange = exSheet.Cells[1, 1];
            exRange.Range["A1:B3"].Font.Size           = 10;
            exRange.Range["A1:B3"].Font.Name           = "Times new roman";
            exRange.Range["A1:B3"].Font.Bold           = true;
            exRange.Range["A1:B3"].Font.ColorIndex     = 5; //Màu xanh da trời
            exRange.Range["A1:A1"].ColumnWidth         = 7;
            exRange.Range["B1:B1"].ColumnWidth         = 15;
            exRange.Range["A1:B1"].MergeCells          = true;
            exRange.Range["A1:B1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A1:B1"].Value               = "Shop bán sách";
            exRange.Range["A2:B2"].MergeCells          = true;
            exRange.Range["A2:B2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A2:B2"].Value               = "Cầu Giấy - Hà Nội";
            exRange.Range["A3:B3"].MergeCells          = true;
            exRange.Range["A3:B3"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A3:B3"].Value               = "Điện thoại: (04)37562222";
            exRange.Range["C2:E2"].Font.Size           = 16;
            exRange.Range["C2:E2"].Font.Name           = "Times new roman";
            exRange.Range["C2:E2"].Font.Bold           = true;
            exRange.Range["C2:E2"].Font.ColorIndex     = 3; //Màu đỏ
            exRange.Range["C2:E2"].MergeCells          = true;
            exRange.Range["C2:E2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["C2:E2"].Value               = "HÓA ĐƠN NHẬP";
            // Biểu diễn thông tin chung của hóa đơn bán
            sql           = "SELECT a.SoHDN, a.NgayNhap, a.TongTien, b.TenNhaCC, b.DiaChi, b.DienThoai, c.TenNV FROM HoaDonNhap AS a, NhaCungCap AS b, NhanVien AS c WHERE a.SoHDN = N'" + txtmhdn.Text + "' AND a.MaNhaCC = b.MaNhaCC AND a.MaNV =c.MaNV";
            tblThongtinHD = DAO.GetDataToTable(sql);
            exRange.Range["B6:C9"].Font.Size  = 12;
            exRange.Range["B6:C9"].Font.Name  = "Times new roman";
            exRange.Range["B6:B6"].Value      = "Mã hóa đơn:";
            exRange.Range["C6:E6"].MergeCells = true;
            exRange.Range["C6:E6"].Value      = tblThongtinHD.Rows[0][0].ToString();
            exRange.Range["B7:B7"].Value      = "Nhà cung cấp:";
            exRange.Range["C7:E7"].MergeCells = true;
            exRange.Range["C7:E7"].Value      = tblThongtinHD.Rows[0][3].ToString();
            exRange.Range["B8:B8"].Value      = "Địa chỉ:";
            exRange.Range["C8:E8"].MergeCells = true;
            exRange.Range["C8:E8"].Value      = tblThongtinHD.Rows[0][4].ToString();
            exRange.Range["B9:B9"].Value      = "Điện thoại:";
            exRange.Range["C9:E9"].MergeCells = true;
            exRange.Range["C9:E9"].Value      = tblThongtinHD.Rows[0][5].ToString();
            //Lấy thông tin các mặt hàng
            sql = "SELECT b.TenSach, a.SoLuongNhap, b.DonGiaNhap, a.KhuyenMai, a.ThanhTien " +
                  "FROM ChiTietHDN AS a , KhoSach AS b WHERE a.SoHDN = N'" +
                  txtmhdn.Text + "' AND a.MaSach = b.MaSach";
            tblThongtinHang = DAO.GetDataToTable(sql);
            //Tạo dòng tiêu đề bảng
            exRange.Range["A11:F11"].Font.Bold           = true;
            exRange.Range["A11:F11"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["C11:F11"].ColumnWidth         = 12;
            exRange.Range["A11:A11"].Value = "STT";
            exRange.Range["B11:B11"].Value = "Tên Sách";
            exRange.Range["C11:C11"].Value = "Số lượng";
            exRange.Range["D11:D11"].Value = "Đơn giá";
            exRange.Range["E11:E11"].Value = "Giảm giá";
            exRange.Range["F11:F11"].Value = "Thành tiền";
            for (hang = 0; hang <= tblThongtinHang.Rows.Count - 1; hang++)
            {
                //Điền số thứ tự vào cột 1 từ dòng 12
                exSheet.Cells[1][hang + 12] = hang + 1;
                for (cot = 0; cot <= tblThongtinHang.Columns.Count - 1; cot++)
                {
                    //Điền thông tin hàng từ cột thứ 2, dòng 12
                    exSheet.Cells[cot + 2][hang + 12] = tblThongtinHang.Rows[hang][cot].ToString();
                }
            }
            exRange           = exSheet.Cells[cot][hang + 14];
            exRange.Font.Bold = true;
            exRange.Value2    = "Tổng tiền:";
            exRange           = exSheet.Cells[cot + 1][hang + 14];
            exRange.Font.Bold = true;
            exRange.Value2    = tblThongtinHD.Rows[0][2].ToString();
            exRange           = exSheet.Cells[1][hang + 15]; //Ô A1
            exRange.Range["A1:F1"].MergeCells          = true;
            exRange.Range["A1:F1"].Font.Bold           = true;
            exRange.Range["A1:F1"].Font.Italic         = true;
            exRange.Range["A1:F1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignRight;
            exRange.Range["A1:F1"].Value = DAO.ChuyenSoSangChu(tblThongtinHD.Rows[0][2].ToString());
            exRange = exSheet.Cells[4][hang + 17]; //Ô A1
            exRange.Range["A1:C1"].MergeCells          = true;
            exRange.Range["A1:C1"].Font.Italic         = true;
            exRange.Range["A1:C1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            DateTime d = Convert.ToDateTime(tblThongtinHD.Rows[0][1]);

            exRange.Range["A1:C1"].Value               = "Hà Nội, ngày " + d.Day + " tháng " + d.Month + " năm " + d.Year;
            exRange.Range["A2:C2"].MergeCells          = true;
            exRange.Range["A2:C2"].Font.Italic         = true;
            exRange.Range["A2:C2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A2:C2"].Value               = "Nhân viên bán hàng";
            exRange.Range["A6:C6"].MergeCells          = true;
            exRange.Range["A6:C6"].Font.Italic         = true;
            exRange.Range["A6:C6"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A6:C6"].Value               = tblThongtinHD.Rows[0][6];
            exSheet.Name  = "Hóa đơn bán";
            exApp.Visible = true;
        }
Beispiel #6
0
        private void btnIn_Click(object sender, EventArgs e)
        {
            COMExcel.Application exApp = new COMExcel.Application();
            COMExcel.Workbook    exBook;
            COMExcel.Worksheet   exSheet;
            COMExcel.Range       exRange;
            string    sql;
            int       hang = 0, cot = 0;
            DataTable danhsach;

            exBook  = exApp.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet);
            exSheet = exBook.Worksheets[1];
            exRange = exSheet.Cells[1, 1];
            exRange.Range["A1:Z300"].Font.Name         = "Times new roman";
            exRange.Range["A1:B3"].Font.Size           = 10;
            exRange.Range["A1:B3"].Font.Bold           = true;
            exRange.Range["A1:B3"].Font.ColorIndex     = 5;
            exRange.Range["A1:A1"].ColumnWidth         = 10;
            exRange.Range["B1:B1"].ColumnWidth         = 20;
            exRange.Range["A1:B1"].MergeCells          = true;
            exRange.Range["A1:B1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A1:B1"].Value               = "CỔ PHONG BOOKS";
            exRange.Range["A2:B2"].MergeCells          = true;
            exRange.Range["A2:B2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A2:B2"].Value               = "Cầu Giấy - Hà Nội";
            exRange.Range["A3:B3"].MergeCells          = true;
            exRange.Range["A3:B3"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A3:B3"].Value               = "Điện thoại: (04)37562222";
            exRange.Range["C2:G2"].Font.Size           = 16;
            exRange.Range["C2:G2"].Font.Bold           = true;
            exRange.Range["C2:G2"].Font.ColorIndex     = 3;
            exRange.Range["C2:G2"].MergeCells          = true;
            exRange.Range["C2:G2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["C2:G2"].Value               = "Báo cáo 5 hóa đơn có tổng tiền nhập lớn nhất";
            sql      = "SELECT TOP (5)* FROM HoaDonNhap WHERE NgayNhap LIKE '%" + txtNam.Text + "%' ORDER BY TongTien DESC";
            danhsach = DAO.GetDataToTable(sql);
            exRange.Range["B5:G5"].Font.Bold           = true;
            exRange.Range["B5:G5"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["B5:B5"].ColumnWidth         = 13;
            exRange.Range["C5:C5"].ColumnWidth         = 30;
            exRange.Range["D5:D5"].ColumnWidth         = 15;
            exRange.Range["E5:E5"].ColumnWidth         = 15;
            exRange.Range["F5:F5"].ColumnWidth         = 15;
            exRange.Range["G5:G5"].ColumnWidth         = 15;
            exRange.Range["B5:B5"].Value = "STT";
            exRange.Range["C5:C5"].Value = "Số hóa đơn nhập";
            exRange.Range["D5:D5"].Value = "Ngày nhập";
            exRange.Range["E5:E5"].Value = "Mã NCC";
            exRange.Range["F5:F5"].Value = "Mã nhân viên";
            exRange.Range["G5:G5"].Value = "Tổng tiền";

            for (hang = 0; hang < danhsach.Rows.Count; hang++)
            {
                exSheet.Cells[2][hang + 6] = hang + 1;
                for (cot = 0; cot < danhsach.Columns.Count; cot++)
                {
                    exSheet.Cells[cot + 3][hang + 6] = danhsach.Rows[hang][cot].ToString();
                }
            }
            exRange = exSheet.Cells[2][hang + 8];
            exRange.Range["D1:F1"].MergeCells          = true;
            exRange.Range["D1:F1"].Font.Italic         = true;
            exRange.Range["D1:F1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["D1:F1"].Value = "Hà Nội, " + DateTime.Now.ToShortDateString();
            exSheet.Name  = "Báo cáo";
            exApp.Visible = true;
        }
Beispiel #7
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (cboMTG.Text == "")
            {
                MessageBox.Show("Bạn cần nhập mã tác giả!");
                cboMTG.Focus();
                return;
            }
            if (txtTTG.Text == "")
            {
                MessageBox.Show("Bạn cần nhập tên tác giả!");
                txtTTG.Focus();
                return;
            }
            if (txtNS.Text == "")
            {
                MessageBox.Show("Bạn cần nhập ngày sinh!");
                txtNS.Focus();
                return;
            }
            if (cboGT.Text == "")
            {
                MessageBox.Show("Bạn cần nhập giới tính!");
                txtTTG.Focus();
                return;
            }
            if (txtDC.Text == "")
            {
                MessageBox.Show("Bạn cần nhập địa chỉ!");
                txtTTG.Focus();
                return;
            }
            string sql = "SELECT MaTG FROM TacGia WHERE MaTG = '" + cboMTG.Text + "'";

            DAO.OpenConnection();
            if (DAO.checkKeyExit(sql))
            {
                MessageBox.Show("Mã tác giả này đã tồn tại, bạn phải nhập mã khác", "Thông báo",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cboMTG.Focus();
                cboMTG.Text = "";
                return;
            }
            sql = "INSERT INTO TacGia (MTG, TenTG, NgaySinh, GioiTinh, DiaChi) VALUES ('" + cboMTG.Text + "', N'" + txtTTG.Text + "', '" + DAO.ConvertDateTime(txtNS.Text) + "', '" + cboGT.Text + "', '" + txtDC.Text + "')";
            DAO.RunSql(sql);
            DAO.CloseConnetion();
            LoadDataToGridview();
        }
        private void btnin_Click(object sender, EventArgs e)
        {
            COMExcel.Application exApp = new COMExcel.Application();
            COMExcel.Workbook    exBook;  //Trong 1 chương trình Excel có nhiều Workbook
            COMExcel.Worksheet   exSheet; //Trong 1 Workbook có nhiều Worksheet
            COMExcel.Range       exRange;
            string    sql;
            int       hang = 0, cot = 0;
            DataTable danhsach;

            exBook  = exApp.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet);
            exSheet = exBook.Worksheets[1];
            exRange = exSheet.Cells[1, 1];
            exRange.Range["A1: B3"].Font.Size           = 10;
            exRange.Range["A1: B3"].Font.Name           = "Times new roman";
            exRange.Range["A1: B3"].Font.Bold           = true;
            exRange.Range["A1: B3"].Font.ColorIndex     = 5; //Màu xanh da trời
            exRange.Range["A1: A1"].ColumnWidth         = 7;
            exRange.Range["B1: B1"].ColumnWidth         = 15;
            exRange.Range["A1: B1"].MergeCells          = true;
            exRange.Range["A1: B1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A1: B1"].Value               = "CỔ PHONG BOOKS";
            exRange.Range["A2: B2"].MergeCells          = true;
            exRange.Range["A2: B2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A2: B2"].Value               = "Cầu Giấy - Hà Nội";
            exRange.Range["A3: B3"].MergeCells          = true;
            exRange.Range["A3: B3"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A3: B3"].Value               = "Điện thoại: (04)37562222";
            exRange.Range["C4: E4"].Font.Size           = 12;
            exRange.Range["C4: F4"].Font.Name           = "Times new roman";
            exRange.Range["C4: F4"].Font.Bold           = true;
            exRange.Range["C4: F4"].Font.ColorIndex     = 3; //Màu đỏ
            exRange.Range["C4: F4"].MergeCells          = true;
            exRange.Range["C4: F4"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["C4: F4"].Value               = "BÁO CÁO DS KHÁCH HÀNG KHÔNG MUA HÀNG THEO THÁNG";

            DAO.OpenConnection();
            sql = "SELECT * FROM KhachHang WHERE NOT EXISTS (SELECT * FROM HoaDonBan WHERE KhachHang.MaKhach = HoaDonBan.MaKhach AND MONTH (NgayBan) = " + Convert.ToInt32(cmbthang.Text) + ")";
            BC9 = DAO.GetDataToTable(sql);
            DAO.RunSql(sql);
            danhsach = DAO.GetDataToTable(sql);

            exRange.Range["B6:G6"].Font.Bold           = true;//In đậm các chữ
            exRange.Range["B6:G6"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["B6:B6"].ColumnWidth         = 12;
            exRange.Range["C6:C6"].ColumnWidth         = 15;
            exRange.Range["D6:D6"].ColumnWidth         = 25;
            exRange.Range["E6:E6"].ColumnWidth         = 15;
            exRange.Range["F6:F6"].ColumnWidth         = 15;
            exRange.Range["B6:B6"].Value = "STT";
            exRange.Range["C6:C6"].Value = "Mã khách";
            exRange.Range["D6:D6"].Value = "Tên khách";
            exRange.Range["E6:E6"].Value = "Địa chỉ";
            exRange.Range["F6:F6"].Value = "Số điện thoại";

            for (hang = 0; hang < danhsach.Rows.Count; hang++)
            {
                exSheet.Cells[2][hang + 7] = hang + 1;//điền số thứ tự vào cột 2 bắt đầu từ hàng 7 (mở excel ra hình dung)
                for (cot = 0; cot < danhsach.Columns.Count; cot++)
                {
                    exSheet.Cells[cot + 3][hang + 7] = danhsach.Rows[hang][cot].ToString();//điền thông tin các cột còn lại từ dữ liệu đã đc đổ vào từ biến "danhsach" bắt đầu từ cột 3, hàng 6
                }
            }
            exRange = exSheet.Cells[2][hang + 9];//chỗ này là đánh dấu vị trí viết cái dòng "Hà Nội, ngày..."
            exRange.Range["D1:F1"].MergeCells          = true;
            exRange.Range["D1:F1"].Font.Italic         = true;
            exRange.Range["D1:F1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["D1:F1"].Value = "Hà Nội, Ngày " + DateTime.Now.ToShortDateString();
            exSheet.Name  = "Báo cáo";
            exApp.Visible = true;
            DAO.CloseConnetion();
        }
Beispiel #9
0
 private void FrmMain_Load(object sender, EventArgs e)
 {
     DAO.OpenConnection();
 }
        private void btnIn_Click(object sender, EventArgs e)
        {
            COMExcel.Application exApp = new COMExcel.Application();
            COMExcel.Workbook    exBook;
            COMExcel.Worksheet   exSheet;
            COMExcel.Range       exRange;
            string    sql;
            int       hang = 0, cot = 0;
            DataTable danhsach;

            exBook  = exApp.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet);
            exSheet = exBook.Worksheets[1];
            exRange = exSheet.Cells[1, 1];
            exRange.Range["A1:Z300"].Font.Name         = "Times new roman";
            exRange.Range["A1:B3"].Font.Size           = 10;
            exRange.Range["A1:B3"].Font.Bold           = true;
            exRange.Range["A1:B3"].Font.ColorIndex     = 5;
            exRange.Range["A1:A1"].ColumnWidth         = 10;
            exRange.Range["B1:B1"].ColumnWidth         = 20;
            exRange.Range["A1:B1"].MergeCells          = true;
            exRange.Range["A1:B1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A1:B1"].Value               = "CỔ PHONG BOOKS";
            exRange.Range["A2:B2"].MergeCells          = true;
            exRange.Range["A2:B2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A2:B2"].Value               = "Cầu Giấy - Hà Nội";
            exRange.Range["A3:B3"].MergeCells          = true;
            exRange.Range["A3:B3"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["A3:B3"].Value               = "Điện thoại: (04)37562222";
            exRange.Range["C2:G2"].Font.Size           = 16;
            exRange.Range["C2:G2"].Font.Bold           = true;
            exRange.Range["C2:G2"].Font.ColorIndex     = 3;
            exRange.Range["C2:G2"].MergeCells          = true;
            exRange.Range["C2:G2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["C2:G2"].Value               = "Báo cáo danh sách hóa đơn và tổng tiền theo quý";
            sql = "SELECT SoHDB, TongTien FROM HoaDonBan WHERE 1=1";
            if (cboQuy.Text == "")
            {
                MessageBox.Show("Bạn phải chọn quý!");
            }
            if (cboQuy.Text == "1")
            {
                sql = sql + "AND NgayBan >= '2020-01-01' AND NgayBan <= '2020-03-31'";
            }
            if (cboQuy.Text == "2")
            {
                sql = sql + "AND NgayBan >= '2020-04-01' AND NgayBan <= '2020-06-30'";
            }
            if (cboQuy.Text == "3")
            {
                sql = sql + "AND NgayBan >= '2020-07-01' AND NgayBan <= '2020-09-30'";
            }
            if (cboQuy.Text == "4")
            {
                sql = sql + "AND NgayBan >= '2020-10-01' AND NgayBan <= '2020-12-31'";
            }
            danhsach = DAO.GetDataToTable(sql);
            exRange.Range["B5:G5"].Font.Bold           = true;
            exRange.Range["B5:G5"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["B5:B5"].ColumnWidth         = 13;
            exRange.Range["C5:C5"].ColumnWidth         = 30;
            exRange.Range["D5:D5"].ColumnWidth         = 25;
            exRange.Range["B5:B5"].Value = "STT";
            exRange.Range["C5:C5"].Value = "Số hóa đơn bán";
            exRange.Range["D5:D5"].Value = "Tổng tiền";

            for (hang = 0; hang < danhsach.Rows.Count; hang++)
            {
                exSheet.Cells[2][hang + 6] = hang + 1;
                for (cot = 0; cot < danhsach.Columns.Count; cot++)
                {
                    exSheet.Cells[cot + 3][hang + 6] = danhsach.Rows[hang][cot].ToString();
                }
            }
            exRange = exSheet.Cells[2][hang + 8];
            exRange.Range["D1:F1"].MergeCells          = true;
            exRange.Range["D1:F1"].Font.Italic         = true;
            exRange.Range["D1:F1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;
            exRange.Range["D1:F1"].Value = "Hà Nội, " + DateTime.Now.ToShortDateString();
            exSheet.Name  = "Báo cáo";
            exApp.Visible = true;
        }