private void XuatDuLieuRaExcel(string FileExcel) { CreateWaitDialog("Đang xuất dữ liệu ra file Excel", "Xin vui lòng chờ!"); this.Cursor = System.Windows.Forms.Cursors.WaitCursor; int DongBatDau = 17, SoCot = 19; Excel.Range cel; Excel.ApplicationClass excel = new Excel.ApplicationClass(); try { excel.Application.Workbooks.Open(FileExcel, true, false, true, "", "", true, true, true, true, true, true, true, true, false); excel.Cells[4, 1] = "TỔNG HỢP KẾ HOẠCH BIÊN CHẾ SỰ NGHIỆP NĂM " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year; excel.Cells[6, 1] = "I. Đánh giá tình hình quản lý và sử dụng biên chế sự nghiệp năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year; DataTable dt = oBNS_Luong.GetSoLuongCongChuc((DateTime)dtpDenNgay.EditValue); if (dt.Rows.Count > 0) { int ChuyenNoiKhac = 0, NghiHuu = 0, ThoiViec = 0; string NS_NgachCongChucID = dt.Rows[0]["NS_NgachCongChucID"].ToString(); CreateTableTemp(); DataRow drNew = dtBaoCaoTemp.NewRow(); drNew["NS_NgachCongChucID"] = int.Parse(NS_NgachCongChucID); drNew["MaNgachCongChuc"] = dt.Rows[0]["MaNgachCongChuc"].ToString(); foreach (DataRow drtemp in dt.Rows) { if (NS_NgachCongChucID != drtemp["NS_NgachCongChucID"].ToString()) { if (ChuyenNoiKhac > 0) { drNew["ChuyenNoiKhac"] = ChuyenNoiKhac; } if (NghiHuu > 0) { drNew["NghiHuu"] = NghiHuu; } if (ThoiViec > 0) { drNew["ThoiViec"] = ThoiViec; } dtBaoCaoTemp.Rows.Add(drNew); ChuyenNoiKhac = 0; NghiHuu = 0; ThoiViec = 0; NS_NgachCongChucID = drtemp["NS_NgachCongChucID"].ToString(); drNew = dtBaoCaoTemp.NewRow(); drNew["NS_NgachCongChucID"] = int.Parse(NS_NgachCongChucID); drNew["MaNgachCongChuc"] = drtemp["MaNgachCongChuc"].ToString(); } if ("" + drtemp["IDNS_HinhThucNghiViec"] == "CHUYENCONGTAC") { ChuyenNoiKhac++; } if ("" + drtemp["IDNS_HinhThucNghiViec"] == "NGHIHUU") { NghiHuu++; } if ("" + drtemp["IDNS_HinhThucNghiViec"] == "THOIVIEC") { ThoiViec++; } } if (ChuyenNoiKhac > 0) { drNew["ChuyenNoiKhac"] = ChuyenNoiKhac; } if (NghiHuu > 0) { drNew["NghiHuu"] = NghiHuu; } if (ThoiViec > 0) { drNew["ThoiViec"] = ThoiViec; } dtBaoCaoTemp.Rows.Add(drNew); excel.Cells[8, 6] = "Nghi hưu năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year.ToString() + ": " + dtBaoCaoTemp.Compute("Sum(NghiHuu)", "").ToString(); excel.Cells[9, 6] = "Xin thôi việc năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year.ToString() + ": " + dtBaoCaoTemp.Compute("Sum(ThoiViec)", "").ToString(); excel.Cells[10, 6] = "Chuyển công tác năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year.ToString() + ": " + dtBaoCaoTemp.Compute("Sum(ChuyenNoiKhac)", "").ToString(); } excel.Cells[13, 1] = "II. Biên chế sự nghiệp năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year; excel.Cells[15, 5] = "HĐLĐ theo Nghị định 68 được giao năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year; excel.Cells[15, 6] = "Biên chế được giao năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year; excel.Cells[15, 10] = "Có mặt đến " + dtpDenNgay.Text; excel.Cells[15, 14] = "Kế hoạch năm " + (DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year + 1).ToString(); excel.Cells[16, 18] = "KH lao động theo Nghị định 68 của năm " + DateTime.Parse(dtpDenNgay.EditValue.ToString()).Year; int count = dtBaoCao.Rows.Count; DataRow dr; for (int i = 0; i < count; i++) { cel = (Excel.Range)(excel.Cells[i + DongBatDau + 1, 1]); cel.EntireRow.Insert(Excel.XlDirection.xlUp, null); dr = dtBaoCao.Rows[i]; excel.Cells[i + DongBatDau, 1] = i + 1; excel.Cells[i + DongBatDau, 2] = "" + dr["TenDonVi"]; excel.Cells[i + DongBatDau, 3] = "" + dr["SoQDThanhLap"]; excel.Cells[i + DongBatDau, 4] = "" + dr["CCQDThanhLap"]; excel.Cells[i + DongBatDau, 10] = "" + dr["TongSo"]; excel.Cells[i + DongBatDau, 11] = "" + dr["VCLanhDao"]; excel.Cells[i + DongBatDau, 12] = "" + dr["VCTrongBMQL"]; excel.Cells[i + DongBatDau, 13] = "" + dr["VCConLai"]; } // Them dong tong cel = (Excel.Range)(excel.Cells[count + DongBatDau + 1, 1]); cel.EntireRow.Insert(Excel.XlDirection.xlUp, null); excel.Cells[count + DongBatDau, 2] = "Tổng cộng"; excel.Cells[count + DongBatDau, 10] = dtBaoCao.Compute("Sum(TongSo)", "").ToString(); excel.Cells[count + DongBatDau, 11] = dtBaoCao.Compute("Sum(VCLanhDao)", "").ToString(); excel.Cells[count + DongBatDau, 12] = dtBaoCao.Compute("Sum(VCTrongBMQL)", "").ToString(); excel.Cells[count + DongBatDau, 13] = dtBaoCao.Compute("Sum(VCConLai)", "").ToString(); cel = excel.get_Range(excel.Cells[count + DongBatDau, 1], excel.Cells[DongBatDau + count, SoCot]); cel.Font.Bold = true; // Set style cel = excel.get_Range(excel.Cells[DongBatDau, 1], excel.Cells[DongBatDau + count - 1, SoCot]); cel.Borders.LineStyle = Excel.XlLineStyle.xlDot; cel.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous; cel = excel.get_Range(excel.Cells[DongBatDau, 1], excel.Cells[DongBatDau + count, 1]); cel.Borders[Excel.XlBordersIndex.xlEdgeLeft].LineStyle = Excel.XlLineStyle.xlContinuous; for (int j = 1; j <= SoCot; j++) { cel = excel.get_Range(excel.Cells[DongBatDau, j], excel.Cells[DongBatDau + count, j]); cel.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlDot; cel.Borders[Excel.XlBordersIndex.xlEdgeRight].LineStyle = Excel.XlLineStyle.xlContinuous; } cel = excel.get_Range(excel.Cells[DongBatDau + count, 1], excel.Cells[DongBatDau + count, SoCot]); cel.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous; } catch (Exception e) { CloseWaitDialog(); this.Cursor = System.Windows.Forms.Cursors.Default; ThongBaoLoi("Xuất dữ liệu không thành công! Hãy đóng file Excel Phiếu báo điểm trước khi xuất dữ liệu. Thông báo lỗi: " + e.Message); return; } finally { excel.Application.Workbooks[1].Save(); excel.Application.Workbooks.Close(); excel.Application.Quit(); excel.Quit(); Process.Start(FileExcel); CloseWaitDialog(); this.Cursor = System.Windows.Forms.Cursors.Default; } }
private void XuLyTable() { DataTable dt = oBNS_Luong.GetSoLuongCongChuc((DateTime)dtpDenNgay.EditValue); if (dt.Rows.Count <= 0) { return; } int TuyenMoi = 0, TongCong = 0, ChuyenNoiKhac = 0, NghiHuu = 0, ThoiViec = 0; string NS_NgachCongChucID = dt.Rows[0]["NS_NgachCongChucID"].ToString(); DataRow drNew = dtBaoCao.NewRow(); drNew["NS_NgachCongChucID"] = int.Parse(NS_NgachCongChucID); drNew["MaNgachCongChuc"] = dt.Rows[0]["MaNgachCongChuc"].ToString(); foreach (DataRow dr in dt.Rows) { if (NS_NgachCongChucID != dr["NS_NgachCongChucID"].ToString()) { if (TuyenMoi > 0) { drNew["TuyenMoi"] = TuyenMoi; } if (TongCong > 0) { drNew["TongCong"] = TongCong; } if (ChuyenNoiKhac > 0) { drNew["ChuyenNoiKhac"] = ChuyenNoiKhac; } if (NghiHuu > 0) { drNew["NghiHuu"] = NghiHuu; } if (ThoiViec > 0) { drNew["ThoiViec"] = ThoiViec; } if ((TuyenMoi > (ChuyenNoiKhac + NghiHuu + ThoiViec)) && ((TuyenMoi - (ChuyenNoiKhac + NghiHuu + ThoiViec)) > 0)) { drNew["ThucTang"] = TuyenMoi - (ChuyenNoiKhac + NghiHuu + ThoiViec); } if (((ChuyenNoiKhac + NghiHuu + ThoiViec) > TuyenMoi) && (((ChuyenNoiKhac + NghiHuu + ThoiViec) - TuyenMoi) > 0)) { drNew["ThucGiam"] = (ChuyenNoiKhac + NghiHuu + ThoiViec) - TuyenMoi; } dtBaoCao.Rows.Add(drNew); TuyenMoi = 0; TongCong = 0; ChuyenNoiKhac = 0; NghiHuu = 0; ThoiViec = 0; NS_NgachCongChucID = dr["NS_NgachCongChucID"].ToString(); drNew = dtBaoCao.NewRow(); drNew["NS_NgachCongChucID"] = int.Parse(NS_NgachCongChucID); drNew["MaNgachCongChuc"] = dr["MaNgachCongChuc"].ToString(); } if ("" + dr["IDNS_HinhThucNghiViec"] == "") { TongCong++; TuyenMoi++; } if ("" + dr["IDNS_HinhThucNghiViec"] == "CHUYENCONGTAC") { ChuyenNoiKhac++; } if ("" + dr["IDNS_HinhThucNghiViec"] == "NGHIHUU") { NghiHuu++; } if ("" + dr["IDNS_HinhThucNghiViec"] == "THOIVIEC") { ThoiViec++; } } if (TuyenMoi > 0) { drNew["TuyenMoi"] = TuyenMoi; } if (TongCong > 0) { drNew["TongCong"] = TongCong; } if (ChuyenNoiKhac > 0) { drNew["ChuyenNoiKhac"] = ChuyenNoiKhac; } if (NghiHuu > 0) { drNew["NghiHuu"] = NghiHuu; } if (ThoiViec > 0) { drNew["ThoiViec"] = ThoiViec; } if ((TuyenMoi > (ChuyenNoiKhac + NghiHuu + ThoiViec)) && ((TuyenMoi - (ChuyenNoiKhac + NghiHuu + ThoiViec)) > 0)) { drNew["ThucTang"] = TuyenMoi - (ChuyenNoiKhac + NghiHuu + ThoiViec); } if (((ChuyenNoiKhac + NghiHuu + ThoiViec) > TuyenMoi) && (((ChuyenNoiKhac + NghiHuu + ThoiViec) - TuyenMoi) > 0)) { drNew["ThucGiam"] = (ChuyenNoiKhac + NghiHuu + ThoiViec) - TuyenMoi; } dtBaoCao.Rows.Add(drNew); }