上篇博文中已经介绍了如何写入Excel文件.这篇再介绍一下 如何从Excel中读取数据并保存到DataGridView中. 从Excel中读取数据并保存至DataGridView中,Excel文件第一行为表格列标题,从第二行开始为数据. 需要了解的内容有: 引入命名空间: 创建文件流: 创建与文件对应的workbook: 获取sheet: 获取行row: 获取单元格cell; 获取单元格的值 1.引入命名空间: 本文操作所用到的NPOI中命名空间有: using NPOI.HSSF.UserMo…
/// <summary> /// DataTable to Excel(将数据表中的数据读取到excel格式内存中) /// </summary> /// <param name="dataTable">数据表</param> /// <param name="excelType">excel格式</param> /// <param name="sheetName"…
大家都知道NPOI组件可以再你本地没有安装office的情况下来 读取,创建excel文件.但是大家一般都是只默认读取一个excel文件的第一个sheet.那么如果要读取一个excel 的所有sheet 要怎么做呢? 下面就来告诉大家如何操作NPOI 读取excel 的所有sheet. 首先我们先讲解操作excel 单独创建的一个类,我命名为 EXECLHELP using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF…
.读取using (FileStream stream = new FileStream(@"c:\客户资料.xls", FileMode.Open, FileAccess.Read)) { HSSFWorkbook workbook = new HSSFWorkbook(stream); MessageBox.Show(workbook.GetSheetName()); } 读取字符串类型数据MessageBox.Show(sheet.GetRow().GetCell().Strin…
Sheet1$是Excel默认的第一个表名,如果改动:select * from [Sheet1$]"将查询失败,因此应根据选择自动获取excel表名: OpenFileDialog ofd = new OpenFileDialog(); //选择文件路径 ofd.Title = "Excel文件"; ofd.FileName = ""; ofd.Filter = "Excel文件(*.xls)| *.xls"; string Path…
最近在项目中发现,对于Excel2007(底层根本是xml) ,使用<java读取大容量excel之一>中的方式读取,若待读取的excel2007文件中某一列是空值,(注意,所谓的空值是什么都没有,而不是敲了空格后的形式,虽然敲了空格表面上看也没有值,但是有占位符,在底层xml中表现不一样),后出现自动忽略,若一个电子表格中有五列,而2,3列没值,则会读不到,这样会对于若程序后续对拿到的每一行数据进行判断,则会张冠李戴,容易出错,故研究了下.xlsx底层,如下: 如图新建一个.xlsx文件,包…
NPOI能够在用户没有安装office的情况下读写office文件,包括.xls/.doc/.ppt等类型的文件.本文介绍的是使用NPOI库内的函数读写Excel(.xls)内的内容.在使用NPOI之前首先先要将NPOI添加到工程应用中,NPOI的官网链接:https://archive.codeplex.com/?p=npoi,本文最后也附带了代码和文件. 一.将DataGridView控件内的数据写入Excel文件,如果Excel文件不存在则新建表格,如果文件存在则新建并替换该表格. 写如E…
如今XML文件的存储格式大行其道,可是也不是适用于全部情况,非常多单位的数据交换还是使用Excel的形式.这就使得我们须要读取Excel内的数据.载入到程序中进行处理.可是如何有效率的读取,如何使程序保持健壮,这须要非常大的努力. 我们假设要写一个动态链接库会非常花费时间和精力.这就使得开源项目是个非常有效率的选择. 在各类关于Excel的开源项目中NPOI是中国的程序猿发起的.他的一大优点是直接处理Ole文件,用户不必安装Office.如今发展到2.0还能够自己主动推断Excel文件版本号,我…
将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable /// <summary> /// 将excel文件内容读取到DataTable数据表中 /// </summary> /// <param name="fileName">文件完整路径名</param> /// <param name="shee…
NPOI读取Excel(2003或者2010)返回DataTable.支持公式解析,空行处理. /// <summary>读取excel /// 默认第一行为表头 /// </summary> /// <param name="strFileName">excel文档绝对路径</param> /// <param name="rowIndex">内容行偏移量,第一行为表头,内容行从第二行开始则为1</…
一.NPOI介绍: 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作 二.安装NPOI 新建控制台应用程序>管理NuGet程序包>搜索NPOI>安装NPOI 三.下面是我需要的读取的Excel文件,数据格式如下: 四.添加ExcelHelper类: using System; using NPOI.SS.User…
其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(object sender, EventArgs e) { OpenFileDialog fd = new OpenFileDialog();//首先根据打开文件对话框,选择excel表格 ofd.Filter = "表格|*.xls";//打开文件对话框筛选器 string strPath;/…
项目环境:Webform framework4.0 dll版本:NPOI2.0  dotnet2.0版本 这两天要做个excel导入的功能,想到以前用过NPOI,感觉很给力,今天写了个DEMO,写的时候还算顺利,毕竟以前用过,还是想记录下来,留着以后直接复制 把excel数据读取并拼接到DataTable中,为了使用SqlBulkCopy一次性拷贝到数据库中 IWorkbook workbook = null; string fileExt = Path.GetExtension(path);…
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…
public class NPOIHelper    {        private HSSFWorkbook workbook;        public static IWorkbook LoadFromFile(string filepath)        {            using (FileStream fi = new FileStream(filepath, FileMode.Open, FileAccess.Read))            {         …
3.4用NPOI操作EXCEL--从Excel中抽取文本 我们知道,搜索引擎最擅长处理的就是文本,而Excel中的内容并不是以文本方式存储的.那么如果想要搜索引擎爬虫能够抓取到Excel中的内容是比较困难的,除非搜索引擎爬虫对Excel格式进行专门的处理.那么有没有办法解决此问题呢?有,通过NPOI将Excel内容文本化! 如下,有这样一张Excel,如果想让它被搜索引擎收录,常用的方式是以HTML形式展现,但将一个个这样的Excel手工做成HTML页面显然比较麻烦.接下来,我们将提供一种方案,…
NPOI 2.0 Excel读取显示   最近接到需求,需要把excel表格里的数据原样展示到web页面,主要是满足随意跨行跨列. 之前用过一点NPOI,不过接触的不太多,趁这次机会再熟悉一下.由于操作的excel都是2007以上的版本,所以选择了2.0的版本. 这里稍微提一下2.0与1.X的区别:2.0主要针对2007及以上版本,1.X主要针对2003,此外方法也略有不同,但是过渡还是很平缓的,这里不做过多的赘述. 详情请看官网:点击此处 假设一下是excel 文件的 Sheet1页,转换成w…
项目中需要用到一些数值表格, 方便起见都是用excel来的. 而如果excel正打开中, 直接使用npoi制作的工具来导出数据的话, 在这一行将会异常: workbook = new XSSFWorkbook(filepath); 其实只是读取的话, 并不需要获得它完整的使用权限, 那么用file.open然后再new workbook行不行? 也不行. 其实看那些excel其他软件的做法就很简单了, 首先执行一次copy string tmpFile = "~tooltmp.xlsx"…
结合上一篇文章  NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx 格式 以及  List转DataTable(反射) ; 将泛型集合类转换成DataTable ; 将集合类转换成DataTable  我们就能很方便的吧一个 List 给生成 Excel文档   DataTable dt = ConvertX.ToDataTable<PersonInfo>(lis…
NPOI是POI的.NET版本.POI是用Java写成的库,能帮助用户在没有安装Office环境下读取Office2003-2007文件.NPOI在.NET环境下使用,能读写Excel/Word文件.在实际项目中,通常是对Excel表格的处理,这方面的教程网上已经很多了,稍微搜索一下就能上手使用.这里记录一下我使用NPOI读取Excel数据遇到的一个坑. 当我把本地调试正常的程序发给用户测试时,读取某一个Excel表格时出现了"未将对象引用设置到对象的实例"这个错误.为了找出bug我用…
使用NPOI读取Excel出错,错误信息:java.io.IOException: Invalid header signature; read 4503608217567241, expected –2226271756974174256 诊断:查看Excel文件大小为1k,正常新建Excel应为7K(取WPS标准),问题判断为读取文件信息错误,将Excel文件另存解决,如多个文件,则用wps批量打开,全数保存实现!…
asp.net 使用NPOI读取excel文件内容 NPOI下载地址:NPOI public class ExcelHelper { /// <summary> /// 读取Excel文件数据到DataSet,一个Sheet对应一个DataTable /// </summary> /// <param name="strExcelFilePath">Excel文件的物理路径</param> /// <returns></…
我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi读取excel表格的例子,很多都是返回一个Datatable的对象,但是我需要的是一个list集合,这里就需要把Datatable转成自己需要的List集合,所以,我封装了一个方法,传入class对象就能返回相应的list对象. 首先先看效果图,如下: 模板 一共有4列,有很多行,其中只有2行有数据…
首先,我们来建一个数据库,我们就叫Hello.db(不一定是db后缀,你可以sqlite,sqlite3,db3)都可以作为识别,然后往里面建一个空的表格,如下图所示 然后建一个Excel表格,往表格里面写入一些数据,我这里只是Demo形式,可以根据自己的实际情况,稍作修改 然后开始建一个新的项目,我这里用的是WPF,你可以使用Core,Console,Winform都可以,我这里提供思路,仅供参考 然后引用一下图中的dll程序集,主要是SQLite和NPOI,你可以到Nuget去下载,Nuge…
前言 https://blog.csdn.net/IT_xiao_guang_guang/article/details/104217491  本地数据库表中有46785条数据,测试正常  初次运行程序第一次导出,用时在4-5s左右:此后再导出用时在2-3s左右:可能与缓存有关  支持导出为.xls和.xlsx格式  可以自定义字体和字号  exe测试文件下载地址:https://www.lanzous.com/i95st5g   密码:test 实现步骤 一.安装NPOI 右键项目 → "管理…
前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/3889479.html 本文使用的NPOI版本是 2.1.1.0(.net2.0)  下载链接   https://files.cnblogs.com/files/masonblog/NPOI2-1-1DotNet2-0.zip 本例Excel表格   https://files.cnblogs.com/f…
public class ExcelOperator { public static List<DataTable> Read(string fileName) { List<DataTable> tables = new List<DataTable>(); if (!File.Exists(fileName)) return tables; var fs = new FileStream(fileName, FileMode.Open, FileAccess.Rea…
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Write完成后就自动关闭流数据,所以无法很好的支持的Web模式,网上目前也未找到好的解决方案,大家如果有知道的还请告之,谢谢! 注意:若直接使用在WinForm项目中,必需先下载并在项目中引用NPOI2.0或以上版本的组件才可以正常使用,下载地址:http://npoi.codeplex.com/rel…
1.ExcelHelper封装 namespace NPOI操作Excel { public class ExcelHelper { /// <summary> /// DataTable转成Excel,返回一个文件流 /// </summary> /// <param name="dataTable"></param> /// <returns></returns> public static Stream Da…
NPOI在.net中的操作Excel 1.读取 using (FileStream stream = new FileStream(@"c:\客户资料.xls", FileMode.Open, FileAccess.Read)) { HSSFWorkbook workbook = new HSSFWorkbook(stream); MessageBox.Show(workbook.GetSheetName(0)); }   • 读取字符串类型数据 MessageBox.Show(she…