예제 #1
0
        //Xuất Excel
        private void btnXuatExcel_Click(object sender, RoutedEventArgs e)
        {
            #region 1. Tạo datatable xuất
            DataTable _dtXuat = new DataTable();
            _dtXuat.Columns.Add("Mã nhóm");
            _dtXuat.Columns.Add("Tên nhóm");
            _dtXuat.Columns.Add("Ghi chú");

            DataRow _drXuat;

            for (int i = 0; i < _DtNSP.Rows.Count; i++)
            {
                _drXuat             = _dtXuat.NewRow();
                _drXuat["Mã nhóm"]  = _DtNSP.Rows[i]["MaNSP_NSP"].ToString();
                _drXuat["Tên nhóm"] = _DtNSP.Rows[i]["TenNSP_NSP"].ToString();
                _drXuat["Ghi chú"]  = _DtNSP.Rows[i]["GhiChu_NSP"].ToString();

                _dtXuat.Rows.Add(_drXuat);
            }
            #endregion

            #region 2.Lưu file
            SaveFileDialog _saveFile = new SaveFileDialog();
            _saveFile.InitialDirectory = "C:";
            _saveFile.Title            = "Save as Excel Files";
            _saveFile.FileName         = "San pham";
            _saveFile.DefaultExt       = ".xls";
            _saveFile.Filter           = "Excel Files(2003)|*xls|Excel Files(2007)|*.xlsx";
            if (_saveFile.ShowDialog() == true)
            {
                string _tenFile = _saveFile.FileName;

                //Cho chạy ngầm cho hết đơ
                bdProgress.Visibility       = System.Windows.Visibility.Visible;
                pbTienTrinh.IsIndeterminate = true;
                lbProgress.Content          = "Đang xử lý...";
                worker = new BackgroundWorker();
                // worker.WorkerReportsProgress = true;
                worker.DoWork             += (obj, ea) => UntilitiesBusiness.XuatExcel(_dtXuat, _tenFile);
                worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(XuatExcelHoanThanh);
                worker.RunWorkerAsync();
            }
            #endregion
        }