วันจันทร์ที่ 14 ตุลาคม พ.ศ. 2556

Method Export to Excel (C#)

1. Method Export Data To Excel File  

 อย่างแรก ต้อง Add Reference ของ Office


  private void Export_Click(object sender, EventArgs e)
        {
            string[] Headertxt = new string[12] { "รหัสพนักงาน", "คำนำหน้า", "ชื่อ", "สกุล", "คำนำหน้า", "ชื่ออังกฤษ", "สกุลอังกฤษ", "ระดับ", "รายละเอียดระดับ", "วันเข้างาน", "เลขที่บัตรประชาชน", "แผนก" };
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
            Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
            Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
            app.Visible = true;
            worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets["Sheet1"];
            worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet;
            worksheet.Cells[1, 1] = "รายชื่อพนักงาน";
                        for (int i = 0; i < Headertxt.Length - 1; i++)
                        {
                                        worksheet.Cells[2, i + 1] = Headertxt[i];
                        }
            int c = 3;
            String Stock = null;
                        for (int i = 0; i < Topic_table.Rows.Count; i++)
                        {
                            if (i == 0)
                            {
                                            Stock = "'" + Topic_table.Rows[i].Cells[0].Value.ToString() + "',";
                            }
                            else
                            {
                                            Stock = Stock + "'" + Topic_table.Rows[i].Cells[0].Value.ToString() + "',";
                            }
                        }
            Stock = (Stock.Substring(0, Stock.Length - 1));
            String StrSQL = "select Emp_code,Prename_th,Firstname_th,Lastname_th,"
                             + " Prename_eng,Firstname_eng,Lastname_eng,Grade,"
                             + " Grade_name,Emp_date,Id_card,Dept_name"
                             + " from ITR_EMP_db left join ITR_Dept_db"
                             + " on ITR_EMP_db.Dept = ITR_Dept_db.Dept_no"
                             + " where ITR_EMP_db.act <> 'D' and Emp_code in (" + Stock + ")";
            DataSet DS1 = IR_con.Query_All(StrSQL, "ITR_Emp_db");

            for (int r1 = 0; r1 < DS1.Tables[0].Rows.Count; r1++)
            {
                for (int c1 = 0; c1 < DS1.Tables[0].Columns.Count - 1; c1++)
                {
                    worksheet.Cells[c, c1 + 1] = "'" + DS1.Tables[0].Rows[r1][c1].ToString();
                }
                c++;
            }
        }

ไม่มีความคิดเห็น:

แสดงความคิดเห็น