コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }