当前位置:Gxlcms > 数据库问题 > 利用NPOI读取Execl数据插入数据库

利用NPOI读取Execl数据插入数据库

时间:2021-07-01 10:21:17 帮助过:41人阅读

C#" AutoEventWireup="true" CodeFile="导入到数据库.aspx.cs" Inherits="导入到数据库" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> </div> </form> </body> </html>

 

直接上后台代码,一定要先添加dll引用

using NPOI.HSSF.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.SS.UserModel;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class 导入到数据库 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        IWorkbook workbook =null;
      
        if (FileUpload1.HasFile)
        {
            string filePath = Server.MapPath("~/Files/");//先要创建项目文件夹Files
            string fileName = FileUpload1.PostedFile.FileName;
            FileUpload1.SaveAs(filePath + fileName);//存到项目文件夹下

            string fileExt = Path.GetExtension(fileName);
            using (FileStream fileReader = File.OpenRead(filePath + fileName))
            {
                //创建工作簿对象接收文件流(Excel信息)
                try
                {
                    using (var file = new FileStream(filePath+fileName, FileMode.Open, FileAccess.Read))
                    {
                        if (fileExt == ".xls")
                        {
                            workbook = new HSSFWorkbook(file);
                        }
                        else if (fileExt == ".xlsx")
                        {
                            workbook = new XSSFWorkbook(file);
                        }
                      
                        ISheet sheet = workbook.GetSheetAt(0);
                        int ii = 1;
                        //r = 2,剔除表头2行
                        for (int r = 2; r <= sheet.LastRowNum; r++)
                        {
                            //定义参数数组para

                            //创建一行获取sheet行数据
                            IRow row = sheet.GetRow(r);
                            string a = row.GetCell(0).ToString();//excel中的第一个单元格数据
                            string b = row.GetCell(12).ToString();//excel中的第12个单元格数据
                         //{这里使用的你自己的orm框架进行入库操作}
                            ii++;
                        }
                        fileReader.Close();//关闭流
                        file.Close();//关闭流
                        //删除文件
                        System.IO.File.Delete(filePath + fileName);
                        if (ii == sheet.LastRowNum)
                        {
                            Response.Write("<script>alert(‘已将Excel数据插入到数据库表‘)</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert(‘Excel数据插入到数据库表失败!‘)</script>");
                        }
                    }

                }
                catch (Exception d)
                {

                }
            }
        }
    }


}

 

利用NPOI读取Execl数据插入数据库

标签:添加   npoi   入库   文件夹   cte   button   xls   数据库表   百度云   

人气教程排行