using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls"))
        {
            //创建工作簿对象接收文件流(Excel信息)
            IWorkbook workbook = new HSSFWorkbook(fileReader);
            //工作簿共有几个表
            //int count = workbook.NumberOfSheets;
            //创建工作表读取工作簿表信息
            //ISheet sheet= workbook.GetSheet("表名称");
            ISheet sheet = workbook.GetSheetAt(0);
            string sql = @" insert into T_ExcelIn(Name,Remarks) values (@Name,@Remarks)";
            int ii = 0;
            //r = 1,剔除表头一行
            for (int r = 1; r <= sheet.LastRowNum; r++)
            {
                //定义参数数组para
                SqlParameter[] para = new SqlParameter[] {
                    new SqlParameter("Name",SqlDbType.NVarChar,50),
                    new SqlParameter("Remarks",SqlDbType.NVarChar,50)
                };
                //创建一行获取sheet行数据
                IRow row = sheet.GetRow(r);
                List<ICell> listcell = new List<ICell>();
                //int c = 1 即不读取自动编号的Id列
                for (int c = 1; c < row.LastCellNum; c++)
                {
                    //将每行每个单元格的值添加带listcell集合中
                    listcell.Add(row.GetCell(c));
                }
                //循环赋值给para
                for (int i = 0; i < listcell.Count; i++)
                {
                    para[i].Value = listcell[i].ToString();
                }
                //执行添加Sql语句
                ii += SqlHelper.ExecuteNonQuery(sql, para);
               
            }
            if (ii > 0)
            {
                Response.Write("<script>alert('已将Excel数据插入到数据库表')</script>");
            }
            else
            {
                Response.Write("<script>alert('Excel数据插入到数据库表失败!')</script>");
            }

        }

————————————参数传递不经过List<>集合————————————

using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls"))
        {
            //创建工作簿对象接收文件流(Excel信息)
            IWorkbook workbook = new HSSFWorkbook(fileReader);
            //工作簿共有几个表
            //int count = workbook.NumberOfSheets;
            //创建工作表读取工作簿表信息
            //ISheet sheet= workbook.GetSheet("表名称");
            ISheet sheet = workbook.GetSheetAt(0);
            string sql = @" insert into T_ExcelIn(Name,Remarks) values (@Name,@Remarks)";
            int ii = 0;
            //r = 1,剔除表头一行
            for (int r = 1; r <= sheet.LastRowNum; r++)
            {
                //定义参数数组para
                SqlParameter[] para = new SqlParameter[] {
                    new SqlParameter("Name",SqlDbType.NVarChar,50),
                    new SqlParameter("Remarks",SqlDbType.NVarChar,50)
                };
                //创建一行获取sheet行数据
                IRow row = sheet.GetRow(r);
                //List<ICell> listcell = new List<ICell>();
                //int c = 1 即不读取自动编号的Id列
                for (int c = 1; c < row.LastCellNum; c++)
                {
                    //将每行每个单元格的值添加带listcell集合中
                    //listcell.Add(row.GetCell(c));
                    //将每行的每个单元格的数据添加到para中 c-1即从0 开始记录参数
                    para[c-1].Value = row.GetCell(c).ToString();
                }
                //循环赋值给para
                //for (int i = 0; i < listcell.Count; i++)
                //{
                //    para[i].Value = listcell[i].ToString();
                //}
                //执行添加Sql语句
                ii = SqlHelper.ExecuteNonQuery(sql, para);
            }
            if (ii > 0)
            {
                Response.Write("<script>alert('已将Excel数据插入到数据库表')</script>");
            }
            else
            {
                Response.Write("<script>alert('Excel数据插入到数据库表失败!')</script>");
            }

        }

C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享的更多相关文章

  1. c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出

    将List集合的数据写到一个Excel文件并导出示例: using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using Sys ...

  2. c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出

    c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...

  3. c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享

      string sql = @"select * from T_Excel"; ----------------DataTable Star----------------    ...

  4. net core WebApi——使用NPOI导入导出操作

    目录 前言 NPOI 测试 小结 @ 前言 时间过得好快,在之前升级到3.0之后,就感觉好久没再动过啥东西了,之前有问到Swagger的中文汉化,虽说我觉得这种操作的意义不是太大,也是多少鼓捣了下,其 ...

  5. NPOI导入导出Excel

    .net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交  代码:  第一步. 在页面里面加入2个隐藏的iframe, 如下 ...

  6. .Net core NPOI导入导出Excel

    最近在想.net core NPOI 导入导出Excel,一开始感觉挺简单的,后来真的遇到很多坑.所以还是写一篇博客让其他人少走一些弯路,也方便忘记了再重温一遍.好了,多的不说,直接开始吧. 在.Ne ...

  7. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

  8. 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  9. NPOI导入导出Excel数据

    代码: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; usi ...

随机推荐

  1. 在 ASP.NET CORE 中使用 SESSION

    Session 是保存用户和 Web 应用的会话状态的一种方法,ASP.NET Core 提供了一个用于管理会话状态的中间件.在本文中我将会简单介绍一下 ASP.NET Core 中的 Session ...

  2. 小程序https Android 安卓可以发request请求,IOS 苹果 发请求失败问题

    如果一个机器可以发送成功,一个机器发送失败,那多半是是域名的https支持的问题 那就用腾讯云的这个ssl测试工具检测下 https://www.qcloud.com/product/ssl#user ...

  3. 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱

    前言 API 不熟悉导致的问题,想当然的去理解果然会出问题,这里记录一下 UICollectionView 使用问题. 声明  欢迎转载,但请保留文章原始出处:)  博客园:http://www.cn ...

  4. MP3文件ID3信息编辑器代码开源 - 开源研究系列文章

    上次把磁性窗体的源码开源了,这次就开源另一个程序源码:MP3文件ID3信息编辑器.这个源码也比较简单,关键在于获取和写入MP3文件的这个ID3的信息即可. 这个操作信息编辑的就封装在MP3ID3.ba ...

  5. 使用Java实现单线程模式

    我们都知道单例模式,有很多种实现方法.今天我们实现一个单线程实例模式,也就是说只能实例化该类的一个线程来运行,不允许有该类的多个线程实例存在.直接上代码: public class Singleton ...

  6. web工程常用路径的获取方法

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 一. 利用 Spring 取得web工程根路径 1. web.xml 中添加如下: <context-param> ...

  7. [游戏开发-学习笔记]菜鸟慢慢飞(九)- NGUI- UIWidget(官方说明翻译)

  8. N-Queens

    The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...

  9. html drag api 在firefox 下 拖动出现新窗口的解决办法

    有个功能,需要用drag drop api 来做. 发现在firefox下拖放,会出现新的tab 页签,即使在ondragover.ondrop中使用了event.preventDefault也无济于 ...

  10. Spring + SpringMVC + Druid + MyBatis 给你一个灵活的后端解决方案

    生命不息,折腾不止. 折腾能遇到很多坑,填坑我理解为成长. 两个月前自己倒腾了一套用开源框架构建的 JavaWeb 后端解决方案. Spring + SpringMVC + Druid + JPA(H ...