NPOI兼容 excel2003,2007版本

news/2024/7/3 10:19:42 标签: c#, 数据库, 人工智能

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

 1 public int Import(string path)
 2         {
 3              IList<Student> list = new List<Student>();
 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 简介:http://blog.chinaunix.net/uid-12427199-id-3413752.html

npoi官方最新下载地址:http://npoi.codeplex.com

Npoi 学习系列教程推荐:http://tonyqus.sinaapp.com

 

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


http://www.niftyadmin.cn/n/1153069.html

相关文章

解决 Zend Studio For Linux 乱码和UBUNTU下不显示(白屏)问题

不显示界面问题&#xff1a;打开后不能正常显示&#xff0c;只有标题栏正常解决&#xff1a;用vi打开Zend_Development_Environment&#xff08;和你选择安装的路径有关&#xff0c;找下&#xff09;&#xff0c;打开后输入/set nu在输入1693在其附近会有类似下面的代码&#x…

CCRD_TOC_2008年第3期

中信国健临床通讯 2008年第3期 目 录 银屑病和银屑病关节炎 1. 国际皮肤病专家呼吁重视生物制剂治疗银屑病 原文: http://pharmatimes.com/forums/forums/t/855.aspx 2. 案例报道&#xff1a;依那西普有效治疗泛发性脓疱型银屑病 Esposito M, et al. Dermato…

Ubuntu无线上网

sudo apt-get install bcm43xx-fwcutter&#xff0c;不但自动安装了fwcutter工具&#xff08;这个工具本来是从windows driver .sys文件中分离出firmware的&#xff09;&#xff0c;而且还主动提示我要不要直接从网上下载firmware本身。回答yes就一切完成&#xff08;自动下载了…

Linux 之secureCRT连接SSH

1.登陆linux系统&#xff0c;打开终端命令。输入 rpm -qa |grep ssh 查找当前系统是否已经安装。 2.如果没有安装SSH软件包&#xff0c;可以通过yum 或rpm安装包进行安装。 .3.安装好了之后&#xff0c;就开启ssh服务。Ssh服务一般叫做 sshd&#xff0c;命令行输入 service s…

手机触屏的js事件

处理Touch事件能让你跟踪用户的每一根手指的位置。你可以绑定以下四种Touch事件&#xff1a;1.touchstart: // 手指放到屏幕上的时候触发 2.touchmove: // 手指在屏幕上移动的时候触发 3.touchend: // 手指从屏幕上拿起的时候触发 4touchcancel: // 系统取消touch事件的时候…

ubuntu安装ie

1 apt-get update && apt-get install cabextract wine2 下载ies4linux3 解压后运行./ies4linux4运行~/bin/ie6

Linux学习笔记(12)linux文件目录与用户管理

基本常用目录 如何查看一个文件夹下所有文件总和大小&#xff1f; du -sh * #当前目录下所有文件文件夹大小 1、文件及目录 1.1、文件/文件夹权限 用法&#xff1a; &#xff08;1&#xff09; chgrp group_name dir_name/file_name&#xff0c; &#xff08;2&#xff09…

实习第3天(放假一天)实习第4天

早上测时间&#xff0c;路上花费30分钟&#xff0c;提前10分钟到公司&#xff0c;所以 必须提前40分钟从住所出发&#xff0c;解决不能再迟&#xff01;