Ejemplo n.º 1
0
        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;
        }