通过NPOI导入Execl返回DataTable

使用NPOI将DataTable导入到Excel中 应该有很多同学需要将DataTable中的数据生成为Excel保存起来,虽然有很多例子,但为自己的博客坐下记录,重新写一下。 Excel一般有两种格式:xls与xlsx,在NPOI中,也分别有这两种写法,现在以NPOI 2.2.0、针对.NET 4.0的版本为例。 1.首先将下载好的NPOI的.NET 4.0的dll都添加到引用里 2.为了兼容xls与xlsx,除了必 阅读详情
<strong><span style="font-size:18px;">导入Execl文件方法:</span></strong>
        /// <summary>
        /// 将excel中的数据导入到DataTable中
        /// </summary>
        /// <param name="fileName">execl文件路径名称</param>
        /// <param name="sheetName">excel工作薄sheet的名称</param>
        /// <param name="isFirstRowColumn">第一行是否是DataTable的列名</param>
        /// <returns>返回的DataTable</returns>
        public DataTable ExcelToDataTable(string fileName, string sheetName, bool isFirstRowColumn)
        {
            IWorkbook workbook = null;
            var data = new DataTable();
            try
            {
                var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                // 2007版本
                if (fileName != null && fileName.IndexOf(".xlsx") > 0)
                {
                    workbook = new XSSFWorkbook(fs);
                }
                // 2003版本
                else if (fileName != null && fileName.IndexOf(".xls") > 0)
                {
                    workbook = new HSSFWorkbook(fs);
                }

                var sheet = sheetName != null ? workbook.GetSheet(sheetName) : workbook.GetSheetAt(0);

                if (sheet == null) return data;

                var firstRow = sheet.GetRow(0);
                //一行最后一个cell的编号 即总的列数
                int cellCount = firstRow.LastCellNum;
                var startRow = 0;

                if (isFirstRowColumn)
                {
                    for (int i = firstRow.FirstCellNum; i < cellCount; ++i)
                    {
                        var column = new DataColumn(firstRow.GetCell(i).StringCellValue);
                        data.Columns.Add(column);
                    }
                    startRow = sheet.FirstRowNum + 1;
                }
                else
                {
                    startRow = sheet.FirstRowNum;
                }

                //最后一列的标号
                var rowCount = sheet.LastRowNum;
                for (var i = startRow; i <= rowCount; ++i)
                {
                    var row = sheet.GetRow(i);
                    //没有数据的行默认是null
                    if (row == null) continue;

                    var dataRow = data.NewRow();
                    for (int j = row.FirstCellNum; j < cellCount; ++j)
                    {
                        //同理,没有数据的单元格都默认是null
                        if (row.GetCell(j) != null)
                        {
                            dataRow[j] = row.GetCell(j).ToString();
                        }
                    }
                    data.Rows.Add(dataRow);
                }
                return data;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
<strong><span style="font-size:18px;color:#ff0000;">注意:需要引用dll动态库: <a target=_blank href="http://pan.baidu.com/s/1sjM6map"> dll动态库下载</a></span></strong>

C#使用NPOI库实现DataTable的Execl数据导入导出 上述代码中,我们首先打开指定的Excel文件,读取工作簿和工作表。然后根据表头创建DataTable的列,遍历Excel中的行和列数据,并将其导入到DataTable中。然后使用NPOI库创建了一个Excel工作簿,遍历DataTable的列和行数据,并将其写入Excel文件中。在C#开发中,经常需要进行Execl文件的数据导入和导出操作。本文将介绍如何使用NPOI库来实现DataTable的Execl数据导入和导出功能。这样,我们就完成了使用NPOI库实现DataTable的Execl数据导入导出功能。 阅读详情

相关推荐

C#Winform使用NPOI导入Excel数据

最近工作需要做一个导入Excel功能,特地学习制作,代码逻辑清晰,注释明确,方便新手入门。可导入多表头Excel数据文件,免去新手找DLL、无从下手等一系列问题。

.net core webapi 导出excel(两种方式EPPLUS、NPOI),返回下载地址或文件流

.net core webapi 导出excel nuget安装 EPPlus.Core . 使用起来也很简单,我们构造 ExcelHelper 类,并在controller里面使用。 比如 person类有 id,name,age 3个属性,则 在controller里面这样调用 [Route("ExportExcel")] [HttpGet] public IActionRes...

你要明白,任何问题都不是孤立存在的,一定有人曾经遇到过,并且已经有更好的解决办法了,只是我还不知道。我不应该在黑暗中独自前行,去重新发明轮子,也许我的顿悟,只是别人的基本功!我应该要站在巨人的肩膀上,学习更成熟的经验和方法,然后再来解决这个问题 1万+

读取Excel为DataTable的三种方式

读取Excel为DataTable的三种方式:1、传统方式;2、使用第三方插件NPOI读取;3、使用使用OpenXml读取

使用NPOI读取Excel到DataTable

一、NPOI介绍: 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作 二、安装NPOI 新建控制台应用程序>管理NuGet程序包>搜索NPOI>安装NPOI 三.下面是我需要的读取的Excel文件,数据

HilaryHe 1万+

Winform中使用NPOI实现Excel导入并赋值给DataTable示例代码.zip

Winform中使用NPOI实现Excel导入并赋值给DataTable示例代码

【COMSOL】将一个面上数据导出CSV或txt格式的方法

在COMSOL中参数化扫描后,把一个面上或体里的数据按照CSV或TXT格式导出的方法。

dave496206的博客 2991

winform npoi 将execl转换成datatable,导入数据库

直接在vs中用nuget安装npoi NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。 优点:读取Excel速度较快,读取方式操作灵活性 导入数据库的代码我没贴,看你需要怎么导入,一条一条导入,还是批量导...

weixin_30600197的博客 267

先进封装技术 Part03---重布线层(RDL)的科普

RDL是一种在芯片封装过程中用于重新分布电气连接的技术。它通过在芯片表面或中介层上形成额外的布线层,重新分配芯片的I/O(输入/输出)位置,以适应不同的封装需求和提高电气连接的灵活性。

阿拉伯梳子的专栏 4703

C#_NPOI_DataTable导入导出Execl数据

C#_NPOI_DataTable导入导出Execl数据,代码逻辑简单明了,不多讲,一下请查看。 首先引入Execl NPOI程序集,百度上有的下载; 官网链接在此:NPOI官方下载地址 下载好之后,解压引入新建的项目程序中来:如图 我这里使用的WindowsForm应用程序 名称为NPOI_EXECL 然后再新建一个单独的类,因为考虑到可能封装跟扩展,新建类名为:ExeclH...

TimTiny的博客 4609

《软件工程——实践者的研究方法》重难点复习笔记(第八章——理解需求)

8项需求工程任务 inception 开始 8.1.1 identify stakeholders 定义:从软件开发中收益 例如:市场人员、销售经理、顾客、顾问、维护团队等(P139) 8.1.2 这个阶段的问题是context-free的。有三套(P140) 8.1.3 提到NFR(nonfunctional requirement)和QFD(quality

whooiif的博客 1815

NFS服务器配置与autofs自动挂载

NFS服务器配置autofs自动挂载 环境: hostname ip OS server 192.168.220.138 centos7 client 192.168.220.139 centos7 一、NFS概述 NFS(Network File System)网络文件系统。最大功能就是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 二、端口 [root@se...

DoloresOOO的博客 1026

C# ASP.net中NPOI实现Excel文件导入

NPOI导入优势 继之前NPOI导出文件,其实这个更多人都会选择用IO流,既不用考虑服务器上有无Office插件,又方便快捷。 那要说到NPOI的好处也就在文件导入比较能提现了。有些服务器是没有Office插件的,那么导入就会成为问题,如果大家还用之前的方法在服务器是不可用的,那么就需要用到NPOI了。比起Office API来说NPOI更加方便,更人性化。 准备工作 大家在使用Npoi之前...

qq_41725183的博客 2390

【数学基础】基于欧拉角表达的旋转顺序

欧拉角旋转顺序

FalschxMico 1384

NPOI导入Execl到系统,时间数据处理

NPOI导入Execl数据到系统,时间数据相对较特殊,时间列的类型被标记为Decimal,所以处理时间需要根据类型判断,做特殊处理,以下时间数据处理部分源码: for ( int i = 0 ; i < row . LastCellNum ; i++ ) { HSSFCell cell = ( HSSFCell ) row . GetCell ( i ); if ( cell == null ) { dr [ i ] = null;

u011871201的博客 616

【DRAM存储器六十七】DDR5介绍--训练相关之write leveling

详述DDR5 write leveling细节

highman110的博客 288

webrtc+uniapp(h5和app)实现在线聊天功能 uniapp+网页+服务端源码

uniapp端代码 服务端代码 public/index.html

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 754

Npoi导入导出Execl

读取csv格式时内容含有逗号的无法处理 using System; using System.Data; using System.IO; using System.Web; using NPOI; using NPOI.HPSF; using NPOI.HSSF; using NPOI.HSSF.UserModel; using NPOI.POIFS; ...

166

地平线旭日X3开发板--使用Opencv显示CSI摄像头例程

但是从libsrcampy获取的摄像头图像格式是NV12,无法直接在opencv上显示或者处理,调试过程发现旭日派无法直接用opencv的VideoCapture()调用CSI摄像头,需要使用opencv来做开发的小伙伴可以做个参考,效果如下图所示。需要使用libsrcampy库来获取CSI摄像头图像,为了能够使用opencv的API来处理图像,需要增加NV12转化成bgr像素格式的函数。opencv显示图像.png。

bingdund的博客 541

MVC下使用NPOI的Execl导入操作

第一步 首先导入NPOI引入文件(右键项目->管理NUget包,即可引入) 第二步 前台代码 前台ajax代码 yes: function (index) { //点击确定回调事件 if (document.getElementById("fileDatass").value == null ||...

weixin_30951389的博客 119

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NPOI操作Execl

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; //add using System.

沁心渃水 1026

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

c#(NPOI)DataTable导出execl,execl(支持解析公式)导入DataTable

NPOI(C#)DataTable导出execl using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using NPOI.SS.Util; namespace Common { /// <summary> ///...

weixin_30423977的博客 273

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

无OFFICE datatable导出csv表格(execl格式)(附NPOI,MyXls 方法)

还是当初毕业设计的用的东西,正好翻出来了,在这里记下来。 当时有一个导出execl的功能,网上找了大多都是利用Office接口之类的解决方法,但无奈电脑没有安装Office,只有一个WPS系列(不得不说,WPS还是蛮好用的,没有Office那么臃肿,也不用四处找破解,功能方面,反正我用足够了),那时候也不知道NPOI之类的东西,后来网上找了半天,搞出个这么个东西,虽然很不完善,倒也满足了当时的需

沁心渃水 2711

NPOI .net core 读取execl到DataTable并处理

npoi .net core 读取 execl

博客标题 545

使用第三方组件NPOI和iTextSharp根据DataTable导出Excel、Word、Pdf

源码及组件下载地址:源码及NPOI 2.0和itextsharp-all-5.5.3源码如下:using System;using System.Collections.Generic;using System.Data;using System.Text;using NPOI;using NPOI.HPSF;using NPOI.HSSF;using NPOI.HSSF.UserModel;us

功夫再高也怕菜刀 充分体现了科技的力量 6736

C# NPOI 导出Execl 工具类

NPOI 导出Execl 自己单独工具类 详见代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using NPOI.HPSF; using NPOI.HSSF.UserMode...

ahveyors79701的博客 403
上一篇: C#特殊字符处理
下一篇: jquery验证手机号码和固定电话号码
make1828
博客等级 码龄19年 60粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值