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. NodeJs菜鸟初始

    我们先来了解下什么是nodejs 一.nodejs具有事件驱动.异步编程的特点. 事件驱动这个词并不陌生,在某些传统语言的网络编程中,我们会用到回调函数,比如当socket资源达到某种状态时,注册的回 ...

  2. CLR via C# I/O基元线程同步构造

    1. 分为用户模式构造和内核模式构造 2. 用户模式构造 a.易失构造 在一个简单数据类型的变量上执行原子性读或写操作 VolaileWrite 强制address中的值在调用时写入,除此之外,按照源 ...

  3. Python标准库 urllib2 的使用

    1.Proxy 的设置 urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy. 如果想在程序中明确控制 Proxy,而不受环境变量的影响,可以使用下面的方式 impo ...

  4. HighCharts学习笔记

    目录 xAxis自定义时间刻度的显示 xAxis自定义时间刻度 我们先来看下HighCharts图表的xAxis对象有哪些属性(红色标记重要属性): allowDecimals: Booleancat ...

  5. Linux命令练级初级

    Linux命令练级初级 http://ke.qq.com/video/index.html?course_id=6815 ls    -a 所有文件    -l    类型,连接数,所属用户,工作组, ...

  6. jQuery 单选按钮切换

    html代码片段一: <div class="row"> <div class="col-sm-12"> <label for=& ...

  7. Extjs 4.2 grid 分页问题,点击下一页参数没带过去

    最初的store写法: var store = Ext.create('Ext.data.Store', { model: 'PKU',//这个地方CarPKU不是一个对象,而是一个类 remoteS ...

  8. 关于WP8 微信分享的补充说明

    1.根据微信官方Demo完成相应功能. 2.在分享完后,从微信回来,需要进行 快速恢复. 3.在快速恢复中加入 RootFrame.Navigating += HandlerFotResetNavig ...

  9. cocos2d下,优秀骨骼spine的换装思路

    语文老师说,文章要有个好开头!!! 最近正在引入spine骨骼代替dragon bone骨骼,既然要替代,那么原先在dragon bone上的一些额外需求,不管dragon bone上能不能实现,都应 ...

  10. ECSHOP模糊分词搜索和商品列表关键字飘红功能

    ECSHOP联想下拉框 1.修改page_header.lbi模版文件,将搜索文本框修改为: <input name="keywords" type="text&q ...