Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ASP.NET C# ขอโค้ดในการ อิมพอร์ต Excel เข้าสู่ Database MS-SSQL ด้วยครับ



 

ASP.NET C# ขอโค้ดในการ อิมพอร์ต Excel เข้าสู่ Database MS-SSQL ด้วยครับ

 



Topic : 054248



โพสกระทู้ ( 86 )
บทความ ( 0 )



สถานะออฟไลน์




ASP.NET C# ขอโค้ดในการ อิมพอร์ต Excel เข้าสู่ Database MS-SSQL ด้วยครับ
รบกวนท่านผู้รู้ทุกท่านด้วย
ขอเป็นแบบที่ไม่ใช่ CSV



Tag : ASP.NET, Ms SQL Server 2005, Web (ASP.NET), C#, VS 2005 (.NET 2.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-01-10 23:39:01 By : accio View : 1649 Reply : 5
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองฝช้ ADO.NET กับ Excel น่ะครับ ได้เป็น DataTable จากนั้นก็สามารถนำไปใช้อย่างอื่น ๆ ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-11 06:42:31 By : webmaster
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (C#)
public void Page_Load(object sender, EventArgs e)
{
	OleDbConnection objConn = new OleDbConnection();
	OleDbDataAdapter dtAdapter = default(OleDbDataAdapter);
	DataTable dt = new DataTable();

	string strConnString = null;
	strConnString = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath("MyXls/MyExcelDB.xls") + ";Extended Properties=Excel 8.0;";
	objConn = new OleDbConnection(strConnString);
	objConn.Open();

	string strSQL = null;
	strSQL = "SELECT * FROM [Sheet1$]";

	dtAdapter = new OleDbDataAdapter(strSQL, objConn);
	dtAdapter.Fill(dt);

	//*** BindData To DataGrid ***'
	this.myDataGrid.DataSource = dt;
	this.myDataGrid.DataBind();

	dtAdapter = null;

	objConn.Close();
	objConn = null;

}


ได้เป็น DataTable นำไปใช้ได้เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-22 21:31:08 By : webmaster
 

 

No. 3

Guest


ตามแบบที่พี่วินแนะนำมาครับ มันมีวิธีที่จะให้เริ่ม import ข้อมูลเริ่มจาก row ที่ 4 ไหมครับ

excel format

แบบว่า format excel ที่จะใช้มันมี header ปาไป 3 row แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-07 09:03:29 By : Rookie User
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ตอนที่ Loop Insert ให้ใช้ IF เอาครับ

Code (C#)
for(i = 0;i <= dt.Rows.Count; i++)
{
  if(i > 4_
   {
      // Insert
   }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-07 09:28:39 By : mr.win
 


 

No. 5

Guest


ถ้าผมใช้ stored procedure เป็นตัว insert มันจะใช้ยังไงพอทราบไหมครับCode (C#)
ConnectDB();

                    if (this.fileUpload.HasFile)
                    {
                        string newFileName;
                        String fileExtension;
                        String[] myArr = null;
                        int countSplit;
                        string activeDir = "FileUpload";

                        myArr = fileUpload.FileName.Split('.');
                        countSplit = myArr.Count();
                        fileExtension = myArr[countSplit - 1].Trim();

                        Random random = new Random();
                        newFileName = myArr[0].Trim() + "_" + dateNow + "_" + timeNow + "." + fileExtension;

                        //lbResult.Text = newFileName;

                        if ((fileExtension == "xls") || (fileExtension == "xlsx"))
                        {
                            //Delete Temp Data
                            strSql = "DELETE FROM tbl_iep_temp_2 WHERE user_name=@user_name";
                            myCommand = new SqlCommand(strSql, myConnection);
                            parameter = myCommand.Parameters.Add("@user_name", SqlDbType.NVarChar);
                            parameter.Value = Session["SessionUserName"].ToString();
                            myCommand.ExecuteNonQuery();

                            //Save file to folder
                            this.fileUpload.SaveAs(Server.MapPath(activeDir + "/" + newFileName));

                            //-----------------------start import file to DB---------------------------------//
                            String strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                                                "Data Source=" + Server.MapPath(activeDir + "/" + newFileName) + ";" +
                                                "Extended Properties=Excel 12.0;";
                            using (OleDbConnection connection = new OleDbConnection(strConn))
                            {
                                connection.Open();
                                DataTable dt = null;
                                dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                                String[] excelSheetNames = new String[dt.Rows.Count];
                                int i = 0;

                                foreach (DataRow row in dt.Rows)
                                {
                                    excelSheetNames[i] = row["TABLE_NAME"].ToString();
                                    i++;
                                }

                                OleDbCommand command = new OleDbCommand("Select *, '" + Session["SessionUserName"].ToString() + "' AS user_id FROM [" + excelSheetNames[0] + "]", connection);
                                using (DbDataReader dr = command.ExecuteReader())
                                {


                                    // Bulk Copy to SQL Server
                                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(myConnection))
                                    {
                                        //bulkCopy.BatchSize = 5000;
                                        bulkCopy.DestinationTableName = "tbl_iep_temp_2";
                                        bulkCopy.WriteToServer(dr);
                                    }
                                }
                                connection.Close();

                                //--------------- call stored procedure ------------------//

                                //Create Wave By Store Procedure
                                myCommand = new SqlCommand("SP_LP_UPLOAD", myConnection);  //Procedure Name
                                myCommand.CommandTimeout = 0;
                                myCommand.CommandType = CommandType.StoredProcedure; //Set Type to StoredProcedure
                                myCommand.Parameters.Add("@user_name", SqlDbType.NVarChar, 50).Value = Session["SessionUserName"].ToString();
                                myCommand.Parameters.Add("@filename", SqlDbType.NVarChar, 255).Value = newFileName;
                                myCommand.Parameters.Add("@OP_result", SqlDbType.Int).Direction = ParameterDirection.Output;
                                myCommand.Parameters.Add("@OP_text", SqlDbType.NVarChar, 250).Direction = ParameterDirection.Output;

                                myCommand.ExecuteNonQuery();
                                if (myCommand.Parameters["@OP_result"].Value.ToString() == "0")
                                {
                                    lbResult.Text = "Upload successful...";
                                    lbResult.ForeColor = System.Drawing.Color.Green;
                                }
                                else
                                {
                                    lbResult.ForeColor = System.Drawing.Color.Red;
                                    lbResult.Text = myCommand.Parameters["@OP_text"].Value.ToString();
                                }
                            }
                        }
                        else
                        {
                            lbResult.Text = "Pls use only excel file. (.xls or .xlsx )";
                            lbResult.ForeColor = System.Drawing.Color.Red;
                        }
                    }
                    else
                    {
                        lbResult.Text = "Not found file to upload! pls try again.";
                        lbResult.ForeColor = System.Drawing.Color.Red;
                    }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-07 10:04:54 By : Rookie User
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ASP.NET C# ขอโค้ดในการ อิมพอร์ต Excel เข้าสู่ Database MS-SSQL ด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่