(作者:郭鑫 撰写时间:2019年4月7号)
思路:
获取读取的文件 把文件转换为二进制数组 二进制数组转成内存流 利用NPOI把内存流中的数据读取成Excel(NPOI 为引用)
具体操作:
一、获取读取的文件
判断文件是否为所需的文件(以后缀名为准),
获取:使用System.IO.Path.GetExtension()
二、把文件转换为二进制数组
声明二进制数组存放文件,使用 byte[]创建,[]——>指定该变量的长度
将文件转化为二进制的数组存入上面声明的二进制数组中
转化:file.InputStream.Read(),file为需要转化的文件,
括号中有三个参数分别为声明的二进制数组的名称、
文件存入开始的位置(一般为0)、文件存入结束的位置
三、将二进制的数组转化为内存流
转化:使用MemoryStream
四、利用NPOI把内存流中的数据读取成Excel
将内存流转化为工作簿,使用IWorkbook 创建工作簿,使用HSSFWorkbook赋值
创建工作表,使用ISheet创建工作表
创建表头行,并且添加数据,使用IRow创建行,使用DataColumn创建单元格
为Excel表格添加内容,用循环遍历的方式
附:一、创建表格的顺序思路
1、工作簿 2、工作表 3、表头行 4、内容行
二、为表格添加数据的思路
1、因为Excel表格是由一个个单元格组成的,所以添加数据时也得一个个的添加
2、当建好一个工作表后,首先要对表头进行处理,这样才能更明确的添加相应内容
3、表头处理:先创建一行,再遍历循环每一个表头内容,在循环内创建单元格,并赋值
4、内容处理:与表头处理差不多,但是比表头的处理多一步,因为数据的行数是未知的, 所以还要对内容行进行遍历循环,即循环套循环,在行的循环中嵌套单元格的循环