C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享
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文件读取并写到数据库表,示例分享的更多相关文章
- c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
将List集合的数据写到一个Excel文件并导出示例: using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using Sys ...
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
- c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享
string sql = @"select * from T_Excel"; ----------------DataTable Star---------------- ...
- net core WebApi——使用NPOI导入导出操作
目录 前言 NPOI 测试 小结 @ 前言 时间过得好快,在之前升级到3.0之后,就感觉好久没再动过啥东西了,之前有问到Swagger的中文汉化,虽说我觉得这种操作的意义不是太大,也是多少鼓捣了下,其 ...
- NPOI导入导出Excel
.net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交 代码: 第一步. 在页面里面加入2个隐藏的iframe, 如下 ...
- .Net core NPOI导入导出Excel
最近在想.net core NPOI 导入导出Excel,一开始感觉挺简单的,后来真的遇到很多坑.所以还是写一篇博客让其他人少走一些弯路,也方便忘记了再重温一遍.好了,多的不说,直接开始吧. 在.Ne ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作
随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...
- NPOI导入导出Excel数据
代码: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; usi ...
随机推荐
- MarkdownPad 2 常用快捷键
Ctrl + I : 斜体 Ctrl + B : 粗体 Ctrl + G : 图片 Ctrl + Q : 引用 Ctrl + 1 : 标题 1 Ctrl + 2 : 标题 2 Ctrl + 3 : 标 ...
- UITableView cell复用出错问题 页面滑动卡顿问题 & 各杂七杂八问题
UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影).滑动卡顿等问题,这里只简单敲下几点复用出错时的解决 ...
- 消费RabbitMQ时的注意事项,如何禁止大量的消息涌到Consumer
按照官网提供的订阅型写法( Retrieving Messages By Subscription ("push API")) 我发现,RabbitMQ服务器会在短时间内发送大量的 ...
- Node.js 教程 02 - 经典的Hello World
前言: Node.js的介绍.安装及配置,上一节都已经介绍过了,如果有不清楚的也可以留言或者直接问度娘. 本节: 本节主要以一个简单的例子简单体验一下Node.js,用到了两种方法.下面会介绍. 总之 ...
- python 发送邮件
# coding=utf-8 import smtplibfrom time import sleepfrom email.mime.text import MIMETextfrom email.mi ...
- PB gird类型数据窗口 设置分组、分组小计、合计
今天遇到一个需求,gird表格数据如下: 部门 类型 数据 A 类型1 1 A 类型2 2 B 类型1 3 B 类型2 4 合计 10 实际需要显示的结果为: 部门 ...
- uva 1599 ideal path(好题)——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGYAAAODCAYAAAD+ZwdMAAAgAElEQVR4nOy9L8/0ypH/Pa8givGiyC
- 第10章 Shell编程(3)_字符处理命令和条件判断
3. 字符处理命令 3.1 排序命令:sort (1)sort命令:#sort [选项] 文件名 选项 作用 -f 忽略大小写 -n 以数值型进行排序,默认使用字符串型排序 -r 反向排序 -t 指定 ...
- php 7.0 新特性
php 7 主题是性能优化 SEO 之前版本:开发效率快,语言本身性能差 普通的php网站:IO密集型,瓶颈在mysql上,体现不出来php的性能劣势,在密集计算方面比C,C++,JAVA差几十倍甚 ...
- [No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
一.TortoiseSVN Client 获取服务器端的文件到新的本地文件夹 1.在本地新文件夹上右键菜单: 2.打开Repo-browser(可能需要输入你的用户名&密码) 3.输入服务器端 ...