private void btnThem_Click(object sender, EventArgs e)// thêm món ăn vào hóa đơn { //try //{ if (!BLL.testHoaDon(txtMaHD.Text)) { if (string.IsNullOrEmpty(txtMaHD.Text)) { MessageBox.Show("Chưa tạo hóa đơn mới", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (string.IsNullOrEmpty(cbxMaNV.Text)) { MessageBox.Show("Chưa chọn mã nhân viên tạo hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (string.IsNullOrEmpty(cbxMaKH.Text)) { MessageBox.Show("Chưa chọn mã khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } // thêm mới vào bảng hóa đơn string tinhTrang = "Chưa thanh toán"; BLL.insertHD(txtMaHD.Text, dtpNgayXuat.Value.Date, cbxMaNV.Text, cbxMaKH.Text, tinhTrang); // thêm mới bảng chi tiết hóa đơn if (dgvMonAnTheoHD.Rows.Count == 0) { return; } foreach (DataGridViewRow row in dgvMonAnTheoHD.Rows) { // currQty += row.Cells["qty"].Value; BLL.insertChiTietHD(txtMaHD.Text, row.Cells[0].Value.ToString(), int.Parse(row.Cells[2].Value.ToString()), float.Parse(row.Cells[3].Value.ToString()), float.Parse(row.Cells[4].Value.ToString()), float.Parse(row.Cells[5].Value.ToString())); } txtTongTien.Text = BLL.showTongTienTheoMaHD(txtMaHD.Text); MessageBox.Show("Đã thêm thành công hóa đơn", "Successful", MessageBoxButtons.OK, MessageBoxIcon.Information); btnInHoaDon.Enabled = true; btnXuatFile.Enabled = true; } }
private void btnXuatFile_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; COMExcel.Range exRange; int hang = 0, cot = 0; DataTable tblHoaDon, tblMonAn; exBook = exApp.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet); exSheet = exBook.Worksheets[1]; // Định dạng chung 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; //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 = "Nhà hàng Phương Nam"; exRange.Range["A2:B2"].MergeCells = true; exRange.Range["A2:B2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter; exRange.Range["A2:B2"].Value = "Bắc Từ Liêm - 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: (03)08424419"; exRange.Range["C2:E2"].Font.Size = 16; 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 THANH TOÁN"; tblHoaDon = BLL.showThongTinHoaDonDeXuatRaExel(txtMaHD.Text); exRange.Range["B6:C9"].Font.Size = 12; exRange.Range["B6:B6"].Value = "Mã hóa đơn:"; exRange.Range["C6:E6"].MergeCells = true; exRange.Range["C6:E6"].Value = tblHoaDon.Rows[0][0].ToString(); exRange.Range["B7:B7"].Value = "Khách hàng:"; exRange.Range["C7:E7"].MergeCells = true; exRange.Range["C7:E7"].Value = tblHoaDon.Rows[0][3].ToString(); exRange.Range["B8:B8"].Value = "Địa chỉ:"; exRange.Range["C8:E8"].MergeCells = true; exRange.Range["C8:E8"].Value = tblHoaDon.Rows[0][5].ToString(); exRange.Range["B9:B9"].Value = "Điện thoại:"; exRange.Range["C9:E9"].MergeCells = true; exRange.Range["C9:E9"].Value = "'" + tblHoaDon.Rows[0][4].ToString(); exRange.Range["B10:B10"].Value = "Ngày xuất:"; exRange.Range["C10:E10"].MergeCells = true; exRange.Range["C10:C10"].Value = dtpNgayXuat.Value.ToString("dd-MM-yyyy HH:mmm:ss"); //Lấy thông tin các mặt hàng //select HOADON.MaHD, NgayXuat,sum(SoLuong*CHITIETHOADON.DonGia-SoLuong*CHITIETHOADON.DonGia*GiamGia/100) as TongTien, KHACHHANG.TenKH, KHACHHANG.DienThoai, KHACHHANG.DiaChi, NHANVIEN.TenNV exRange.Range["A11:G11"].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 = "Mã món"; exRange.Range["C11:C11"].Value = "Tên món"; exRange.Range["C11:C11"].ColumnWidth = 27; exRange.Range["D11:D11"].Value = "Số lượng"; exRange.Range["E11:E11"].Value = "Đơn giá"; exRange.Range["F11:F11"].Value = "Tổng các lần giảm giá"; exRange.Range["F11:F11"].ColumnWidth = 25; exRange.Range["G11:G11"].Value = "Thành tiền"; exRange.Range["G11:G11"].ColumnWidth = 25; tblMonAn = BLL.showMonAnDeXuatRaFileExel(cbxMaKH.Text, DateTime.Parse(dtpNgayXuat.Text)); for (hang = 0; hang < tblMonAn.Rows.Count; 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 < tblMonAn.Columns.Count; cot++) //Điền thông tin hàng từ cột thứ 2, dòng 12 { exSheet.Cells[cot + 2][hang + 12] = tblMonAn.Rows[hang][cot].ToString(); if (cot == 4) { exSheet.Cells[cot + 2][hang + 12] = tblMonAn.Rows[hang][cot].ToString() + "%"; } } } DialogResult result = MessageBox.Show("Bạn muốn xuất hóa đơn ra exel ko?", "Thông báo?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.Cancel) { return; } exRange = exSheet.Cells[cot][hang + 13]; exRange.Font.Bold = true; exRange.Value2 = "Tổng tiền:"; exRange = exSheet.Cells[cot + 1][hang + 13]; exRange.Font.Bold = true; exRange.Value2 += BLL.showTongTienTheoMaHD(txtMaHD.Text); 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"].Font.Size = 16; exRange.Range["A1:F1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignRight; exRange.Range["A1:F1"].Value = "Bằng chữ: " + ChuyenSoSangChuoi(double.Parse(BLL.showTongTienTheoMaHD(txtMaHD.Text))); exSheet.Name = "Hóa đơn nhập"; exApp.Visible = true; }