博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NPOI兼容 excel2003,2007版本
阅读量:6657 次
发布时间:2019-06-25

本文共 3309 字,大约阅读时间需要 11 分钟。

根据项目需要,需要对excel进行导入导出,所以选择NPOI,优点在这里就不详细介绍了,下面进入正题。

1 public int Import(string path) 2         { 3              IList
list = new List
(); 4 5 try 6 { 7 string strFileName = path; 8 using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read)) 9 {10 11 IWorkbook workbook = WorkbookFactory.Create(file);////使用接口,自动识别excel2003/2007格式主要就是这句话12 13 //获取所有的工作簿14 for (int i = 0; i < workbook.NumberOfSheets; i++)15 {16 //获取所有的工作表17 ISheet st = workbook.GetSheetAt(i);18 19 //读取每一行20 for (int k = 1; k < st.LastRowNum + 1; k++)21 {22 //获取当前行23 IRow r = st.GetRow(k);24 25 if (r != null)26 {27 28 if (r.GetCell(0) != null)29 {30 //if (r.GetCell(0).ToString().Length == 8)//验证考号是不是9位31 //{
32 MarkingSchool.Model.Student stu = new MarkingSchool.Model.Student();33 if (r.GetCell(0) != null)34 {35 stu.studentCode = r.GetCell(0).ToString();36 }37 if (r.GetCell(1) != null)38 {39 stu.studentName = r.GetCell(1).ToString();40 41 }42 if (r.GetCell(2) != null) stu.schoolCode = r.GetCell(2).ToString();43 if (r.GetCell(3) != null) stu.gradeCode = r.GetCell(3).ToString();44 if (r.GetCell(4) != null) stu.classesCode = r.GetCell(4).ToString();45 46 if (r.GetCell(5) != null) stu.period = r.GetCell(5).ToString();47 if (r.GetCell(6) != null) stu.nationChineseIdentifyCode = r.GetCell(6).ToString();48 if (r.GetCell(7) != null) stu.scienceOrArtIdentifyCode = r.GetCell(7).ToString();49 50 list.Add(stu);51 //}52 }53 54 }55 }56 57 58 }59 60 }
View Code

以上是同excel导入到list,Studnet为学生实体类 ,然后通过通过Student在导入数据库,

也可以通过Bulk Insert批量插入 。

Bulk Insert 简介:

npoi官方最新下载地址:

Npoi 学习系列教程推荐:

 

转载于:https://www.cnblogs.com/ps903942560/p/4607307.html

你可能感兴趣的文章
第一部分 mongodb 基础篇
查看>>
俯卧撑:男人体能健康的检测标准
查看>>
坚持的力量 第二篇
查看>>
silverlight 进行本地串口调用的一种可行的解决方法
查看>>
emacs之配置4,颜色插件
查看>>
emmet语法
查看>>
[效率提升]工作中的那些命令行
查看>>
citus 多租户应用开发(来自官方文档)
查看>>
java鼠标双击和右键事件处理
查看>>
hash算法
查看>>
Apache LRU算法问题分析解决
查看>>
QQ登录端口研究
查看>>
聊聊.net程序设计——浅谈使用VS2010建模拓展(上)[转]
查看>>
linux用户管理命令(添加,删除,修改)
查看>>
配置Eclipse 实现按任意键代码自动补全
查看>>
unix下网络编程之I/O复用(三)
查看>>
Archlinux下给T43添加Win键(Super键)
查看>>
Objective-C——消息、Category和Protocol
查看>>
Python 3.x中maketrans和translate用法
查看>>
.net自动更新组件Ant
查看>>