zoukankan      html  css  js  c++  java
  • C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享

     using (FileStream fileReader = File.OpenRead(@"C:UsersAdministratorDesktop112.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:UsersAdministratorDesktop112.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>");
                }

            }

  • 相关阅读:
    docker基本命令
    vscode 保存提示运行"XXX"的保存参与者: 快速修复
    Vue 2.6 插槽
    代码大全-PartOne-变量命名
    Axure 8.0.1.3388 注册码 授权码 破解
    乱七八糟记一下乱七八糟的碎片化知识
    JavaScript需记的一些细节
    Python3.6问题
    python3.6- shape mismatch: objects cannot be broadcast to a single shape
    Angular+ng-zorro遇坑记
  • 原文地址:https://www.cnblogs.com/jicheng/p/5964619.html
Copyright © 2011-2022 走看看