C#导入.xls数据方法汇总一(上传文件并创建工作簿)
前言:
使用的软件为VS2019
使用的引用是:NPOI.dll
NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目。
一、接收上传的文件
关于C#的上传文件基本都是使用HttpPostedFileBase来进行接收上传的数据
用作某种类的基类,前者提供对已由客户端上载的单个文件的访问。
HttpPostedFileBase()类一共有如下的几个私有方法可以使用,都是后面与上传文件有关联的
- ContentLength
在派生类中重写时,获取已上载文件的大小(以字节为单位)。 - ContentType
在派生类中重写时,获取已上载文件的 MIME 内容类型。 - FileName
客户端上文件的名称,包含目录路径。 - InputStream
当在派生类中重写时,获取指向上载文件的 System.IO.Stream 对象,以准备读取该文件的内容。 - SaveAs
在派生类中重写时,保存已上载文件的内容。
二、判断上传的文件是否符合.xls文件
批量导入数据思路:
1、获取读取的文件->判断数据类型是否正确;
2、把文件转换为二进制数组;
3、二进制数组转成内存流;
4、利用NPOI把内存流中的数据读取成Excel
1、获取上传文件的路径
需要顶部引入: using System.IO;
//获取文件后缀
string fileExtension = Path.GetExtension(excelFile.FileName);
2、通过Equals()判断文件类型是否符合
Equals()表示:确定此实例是否与另一个指定的 System.String 对象具有相同的值。
返回true或false
//判断文件是否为excel表格
if (".xls".Equals(fileExtension.ToLower()) || ".xlsx".Equ