Hướng dẫn how read data from excel sheet and insert into database table in c#? - Làm thế nào để đọc dữ liệu từ trang tính excel và chèn vào bảng cơ sở dữ liệu trong c #?

Tôi sẽ chỉ cho bạn cách kết nối với Microsoft Excel Workbook bằng cách sử dụng nhà cung cấp dữ liệu OLEDB.NET, trích xuất dữ liệu và sau đó chèn nó vào & nbsp; bảng cơ sở dữ liệu.

Để bắt đầu, chúng tôi sẽ tạo ra một exceltodatabase trong bộ điều khiển gia đình trả về chế độ xem. Phương thức này sẽ trả về một chế độ xem từ nơi chúng ta phải tải lên tệp Excel. Bây giờ chúng tôi sẽ tạo một phương thức khác Exceltodatabase. & nbsp; Bây giờ nếu chúng tôi thực hiện yêu cầu nhận thì Exceltodatabase sẽ được gọi và để yêu cầu POST, Exceltodatabase sẽ được gọi. Sau đây là mã để đọc các tệp Excel.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using System.Data.OleDb;
using System.IO;

namespace ExcelReadData
{
    public class HomeController : Controller
    {
        // GET: ClonePanel
        public ActionResult ExcelToDatabase()
        {
            return View();
        }

        [HttpPost]
        public ActionResult ExcelToDatabase()
        {
            bool result = false;
            ViewBag.data = null;
                  
            if (Request.Files["FileUpload1"].ContentLength > 0)
            {
                string extension = System.IO.Path.GetExtension(Request.Files["FileUpload1"].FileName).ToLower();
                string query = null;
                string connString = "";

                string[] validFileTypes = { ".xls", ".xlsx" };

                string path2 = string.Format("{0}/{1}", Server.MapPath("~/Content/Uploads"), Request.Files["FileUpload1"].FileName);
                if (!Directory.Exists(path2))
                {
                    Directory.CreateDirectory(Server.MapPath("~/Content/Uploads"));
                }
                if (validFileTypes.Contains(extension))
                {
                    if (System.IO.File.Exists(path2))
                    { System.IO.File.Delete(path2); }
                    Request.Files["FileUpload1"].SaveAs(path2);

                    //Connection String to Excel Workbook  
                    if (extension.Trim() == ".xls")
                    {
                        connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path2 + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
                        result = Service.ImportExceltoDatabase(path2, connString, userId);
                    }
                    else if (extension.Trim() == ".xlsx")
                    {
                        connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path2 + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
                        result = Service.ImportExceltoDatabase(path2, connString,userId);
                    }
                }
                else
                {
                    ViewBag.Error = "Please Upload Files in .xls, .xlsx or .csv format";
                }
            }
            if (result)
            {
                ViewBag.data = "Data Import Successfully from excel to database.";
            }
            else
            {
                ViewBag.data = "there is some issue while importing the Data.";
            }
            return View();
        } 
    }
}

Ở đây tôi đã tạo một dịch vụ lớp A & nbsp; có chứa 1 & nbsp; Phương thức & nbsp; convertXSlxToDataTable. Sau đây là mã cho lớp dịch vụ.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data;

namespace ExcelReadData
{
    public class Service : IDisposable
    {
        #region **Private Variables**

        private TestDatabaseEntities _dbContext;
        
        #region **Constructor**

        public ImportExceltoDatabase()
        {
            _dbContext = new TestDatabaseEntities();
        }
        #endregion

        public bool ImportExceltoDatabase(string strFilePath, string connString)
        {
            bool result = false;
            OleDbConnection oledbConn = new OleDbConnection(connString);
            DataTable dt = new DataTable();
            try
            {
                oledbConn.Open();
                using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn))
                {
                    OleDbDataAdapter oleda = new OleDbDataAdapter();
                    oleda.SelectCommand = cmd;
                    DataSet ds = new DataSet();
                    oleda.Fill(ds);

                    dt = ds.Tables[0];

                    if (dt.Rows.Count > 0)
                    {
                        table tblObj = new table();
                        foreach (DataRow row in dt.Rows)
                        {
                            tblObj.Name = row["Name"].ToString();
                            tblObj.Name = row["Address"].ToString();
                            tblObj.Salary = (int)row["Salary"];
                            tblObj.Age = (int)row["Age"];
                        }
                    }
                }
            }
            catch(Exception ex)
            {
                result = false;
            }
            finally
            {
                oledbConn.Close();
            }
            return result;
        }
    }
}

Bây giờ chúng tôi phải & nbsp; tạo chế độ xem có chứa điều khiển tải lên tệp và nút. Khi một yêu cầu cho exceltodatabase của bộ điều khiển gia đình được thực hiện, nó sẽ hiển thị điều khiển tải lên tệp với điều khiển nút. Khi người dùng & NBSP; chọn một tệp và nhấn nút, nó sẽ thực hiện yêu cầu POST đến bộ điều khiển gia đình và phương thức Exceltodatabase sẽ được gọi. Sau đây là chế độ xem dao cạo cho cả hai yêu cầu.

@using (Html.BeginForm("ImportExcel", "ExcelToDB", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <table>
        <tr><td>Excel file</td><td><input type="file" id="FileUpload1" name="FileUpload1" /></td></tr>
        <tr><td></td><td><input type="submit" id="Submit" name="Submit" value="Submit" /></td></tr>
        <tr><td></td><td><lable>@(viewbag.data)</lable></td></tr>
    </table>
}

Làm thế nào đọc dữ liệu từ bảng excel và chèn vào bảng cơ sở dữ liệu?

Đầu tiên, sao chép dữ liệu từ Excel, sau đó dán nó vào bảng SQL Server bằng cơ sở dữ liệu> Bảng> Chỉnh sửa tùy chọn menu 200 hàng Top. Luôn bắt đầu bằng cách sao chép và dán một hàng dữ liệu duy nhất để xác thực các loại dữ liệu.copy the data from Excel, and then paste it into the SQL Server table using the Database > Table > Edit top 200 rows menu option. Always start by copying and pasting a single row of data to validate the data types.

Làm cách nào để chuyển đổi bảng tính Excel thành bảng cơ sở dữ liệu?

Tạo một bảng trong Excel..
Mở bảng tính Excel ..
Sử dụng chuột của bạn để chọn các ô chứa thông tin cho bảng ..
Nhấp vào tab "Chèn"> Định vị nhóm "Bảng" ..
Nhấp vào "Bảng". ....
Nếu bạn có tiêu đề cột, hãy chọn hộp "Bảng của tôi có tiêu đề" ..
Xác minh rằng phạm vi là chính xác> Nhấp vào [OK] ..

Làm thế nào đọc tệp excel và chèn vào cơ sở dữ liệu trong C#?

Tạo một hàm để đọc và chèn một tệp excel vào cơ sở dữ liệu là:..
riêng tư void insertexcelrecords (String filePath).
ExcelConn(FilePath);.
Truy vấn = chuỗi.....
OLEDBCOMMAND ECOM = OLEDBCOMMAND mới (Truy vấn, ECON) ;.
Kinh tế.....
Tập dữ liệu ds = new DataSet () ;.
OLEDBDATAAD CHƯƠNG ODA = OLEDBDATAAD CHƯƠNG (Truy vấn, ECON) ;.

Làm cách nào để chuyển dữ liệu từ bảng tính sang cơ sở dữ liệu?

Di chuyển dữ liệu trong 5 bước: Di chuyển từ bảng tính sang DBMS..
Bước 1: Xem lại cơ sở dữ liệu hiện tại của bạn.Bắt đầu bằng cách xem xét bảng tính hiện tại của bạn.....
Bước 2: Xác định lược đồ RDBMS của bạn.....
Bước 3: Tạo một bảng dàn cho mỗi bảng tính của bạn.....
Bước 4: Chạy tập lệnh di chuyển của bạn.....
Bước 5: Bình thường hóa và dọn dẹp ..