码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-04-02 11:52:54      阅读:90      评论:0      收藏:0      [点我收藏+]

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

首先你得准备NPOI的dll文件

这里提供百度云链接:

链接:https://pan.baidu.com/s/1EavAso5hztTbuexgb9XsvA
提取码:jyk6

前台代码

<%@ Page Language="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   数据库表   百度云   

原文地址:https://www.cnblogs.com/Vinkong/p/12618492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!