NPOI 2.2.0.0,初级读取导入Excel

1.读取Excel,将数据绑定到dgv上

         private void button1_Click(object sender, EventArgs e)
{
List<Book> books = new List<Book>();
//1.读取Excel文件
using (FileStream fsReder = File.OpenRead("练习.xlsx"))
{
//2.创建工作簿
IWorkbook wk = new XSSFWorkbook("练习.xlsx");
//IWorkbook wk=new XSSFWorkbook(fsReder);
//获取第一个工作表
ISheet sheet = wk.GetSheetAt();
//3.遍历每一行,行和列的索引都是从0开始
for (int i = ; i < sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
//MessageBox.Show(row.GetCell(0).ToString());
//4.读取每一行的数据,加到对象中
books.Add(new Book()
{
Name = row.GetCell().ToString(),
One = row.GetCell().ToString(),
Two = row.GetCell().ToString(),
Three = row.GetCell().ToString(),
Four = row.GetCell().ToString(),
Five = row.GetCell().ToString(),
Six = row.GetCell().ToString(), });
}
}
//5.绑定数据
dgv.DataSource = books;
dgv.AutoGenerateColumns = false;
dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
MessageBox.Show("操作完成");
}

  2.将数据导入到Excel中

         private void button2_Click(object sender, EventArgs e)
{
List<Book> books = new List<Book>()
{
new Book() {Name = "火影忍者",One ="",Two = "",Three = "",Four = "",Five = "",Six = ""},
new Book() {Name = "海贼王", One ="",Two = "",Three = "",Four = "",Five = "",Six = ""},
new Book() {Name = "死神",One ="",Two = "",Three = "",Four = "",Five = "",Six = ""},
new Book() {Name = "游戏王",One ="",Two = "",Three = "",Four = "",Five = "",Six = ""},
};
//1.创建工作簿
using (FileStream fsWrite = File.OpenWrite("1.xlsx"))
{
IWorkbook wk = new XSSFWorkbook();
//2.创建第一个工作表
ISheet sheet = wk.CreateSheet("第一张表");
//第一行设置标题
IRow rowHead = sheet.CreateRow(); rowHead.CreateCell().SetCellValue("图书名");
rowHead.CreateCell().SetCellValue("一月");
rowHead.CreateCell().SetCellValue("二月");
rowHead.CreateCell().SetCellValue("三月");
rowHead.CreateCell().SetCellValue("四月");
rowHead.CreateCell().SetCellValue("五月");
rowHead.CreateCell().SetCellValue("六月"); //3.在工作表的最后一行下,循环创建工作表的每一行,添加数据
for (int i = ; i < books.Count; i++)
{
IRow row = sheet.CreateRow(i);
row.CreateCell().SetCellValue(books[i].Name);
row.CreateCell().SetCellValue(books[i].One);
row.CreateCell().SetCellValue(books[i].Two);
row.CreateCell().SetCellValue(books[i].Three);
row.CreateCell().SetCellValue(books[i].Four);
row.CreateCell().SetCellValue(books[i].Five);
row.CreateCell().SetCellValue(books[i].Six);
}
wk.Write(fsWrite);
} MessageBox.Show("操作完成");
}

NPOI读取Excel,导入数据到Excel练习01的更多相关文章

  1. Excel导入数据到Sql server 中出错:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”

    从Excel导入数据到Sql server 时,由于表中的数据有的很长,导入时出现如下错误(如果数据不是很长,255内以内,则不会出现错误): 出错原因: SQL Server的导入导出为了确定数据表 ...

  2. vue Excel导入,下载Excel模板,导出Excel

    vue  Excel导入,下载Excel模板,导出Excel vue  Excel导入,下载Excel模板 <template> <div style="display: ...

  3. Open XML操作Excel导入数据

    项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...

  4. 【Kettle】Java借助Kettle将Excel导入数据

    示例功能(仅供测试): 在JAVA项目中,将数据从Excel文件导入数据库中.实现该能有多种方法,而本例则是“不走寻常路”,尝试借助Kettle实现数据导入. 原理: Java中调用存储在Kettle ...

  5. 关于Vue+iview的前端简单的导入数据(excel)

    前一段时间项目经历了纯前端处理导入excel文件并处理等问题,数据量大的时候时间上长的一比,三千条数据需要三四秒甚至更长,不管产品咋想的,具体做法为: 首先下载一个这玩意: 进行简单封装一下: < ...

  6. C#实现Excel模板导出和从Excel导入数据

    午休时间写了一个Demo关于Excel导入导出的简单练习 1.窗体 2.引用office命名空间 添加引用-程序集-扩展-Microsoft.Office.Interop.Excel 3.封装的Exc ...

  7. 项目经验之:再来一章:excel导入数据 封装成最棒的不容易!!!

    我见过很的系统,包括OA,ERP,CRM等,在常用的功能当中,从外部导入数据是最常用到的.因为很多客户需要以excel的形式提供数据,,这样的方式我们又如何做呢, 大家最常见的做法可能是这样的,在需要 ...

  8. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  9. Dynamics CRM EXCEL导入数据字段类型为选项集时的注意事项

    在开始先展示下CRM的导入数据涉及选项集字段时的一个问题 下图是选项集字段的属性 下图是我要导入的excel中的列值,可以看出列明和字段名是一致的,而列值却不是选项集中已有的选项 在导入校验时,只要字 ...

  10. C# Excel导入数据

    表 表的创建脚本 CREATE TABLE [dbo].[TB_PROJECTS_New1]( , ) NOT NULL, ) NULL, ) NULL, , ) NULL, , ) NULL, , ...

随机推荐

  1. Nginx+uWSGI+Django原理

    Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...

  2. 将eclipse的应用程序打包成.exe

    转自:http://blog.163.com/loveshijie_1991/blog/static/1760553112012102573437156/ 参考:http://blog.csdn.ne ...

  3. MonoBehaviour

    所有的Unity脚本都继承自MonoBehaviour这个类,它没有Main函数入口,采用了事件触发的模式,根据不同的事件响应不同的函数. void Start(): void Update():每一 ...

  4. xcode 编译错误的 之 头文件 包含成.m了

    duplicate symbol _OBJC_CLASS_$_AutoTableViewViewController in: /Users/apple/Library/Developer/Xcode/ ...

  5. CS0016: 未能写入输出文件的解决方法

    编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727 \Temporary ASP.NET Files\roo ...

  6. JPA学习---第四节:JPA实例与JPA主键生成策略

    1.编写实体类,代码如下: package learn.jpa.bean; import javax.persistence.Entity; import javax.persistence.Gene ...

  7. [book]awesome-machine-learning books

    https://github.com/josephmisiti/awesome-machine-learning/blob/master/books.md Machine-Learning / Dat ...

  8. 备份apt目录节省下载时间

    备份与清理      * 备份快速设置已下载的部分软件包,以便重装系统再次使用,免去重新下载的时间   tar cizvf backup.tar.gz /var/cache/apt/archives ...

  9. mysql数据库连接池 手动编写

    源码来源于http://www.toutiao.com/a6350448676050174209/,留存以供以后参考学习 先上一张项目托普图 然后分别列出各个文件的源码: MyPool.java(就是 ...

  10. HDU 5486 Difference of Clustering 图论

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5486 题意: 给你每个元素一开始所属的集合和最后所属的集合,问有多少次集合的分离操作,并操作和不变操 ...