Excel文件的导入和导出C#

Excel文件的导入和导出

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015 与Excel文件的导入和导出

作者:黄富滔

撰写时间:2020年0809

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

知识点罗列

Excel的导出:

导出分两种,一种是在已有的模板里面导出数据,另外一种就是自己构建表头、标题等。

区别就在于在已有模板里面进行导出数据的要判断模板是否存在、使用NPOI打开模板,没有模板的就要自己构建标题、表头,给标题表头添加上一定的样式。

一 、导出数据到模板的步骤:

  1. 根据条件查询出要进行导出的数据
  2. 判断模板是否存在
  3. 使用NPOI打开模板文件
  4. 得到工作簿,再根据工作簿打开工作表,要具体到某一个工作表
  5. 给工作表设置标题,因为要显示给用户看,让用户知道自己导出的数据是什么
  6. 给工作表里面的单元格创建样式(指的是数据部分的单元格),可以设置内容在水平垂直方向上居中、添加边框、字体大小、字体颜色等等。
  7. 通过循环的方式开始填充数据,数据填充的方式是一行一行的进行填充的。这里需要注意的是从第几行开始填充数据,一般情况下是从索引值2,也就是第三行开始填充,因为标题和表头已经占据了两行。同时在循环里面再次遍历循环所有的数据单元格,给他们设置样式,上面只是创建了样式,并没有添加进行设置。
  8. 以流的方式返回,返回的信息有:流形式的数据、文件类型、文件名称

 

二 、 直接导出(没有模板)

  1. 根据条件查询出要进行导出的数据
  2. 创建工作簿,再根据工作簿创建工作表,同时可以设置工作表的名称
  3. 创建标题行,再创建标题单元格设置标题,设置标题名称、设置标题样式(字体大小、字体颜色、背景颜色、居中等)、合并单元格
  4. 创建表头行,再创建单元格,把表头内容塞进单元格,创建表头单元格样式(字体大小、字体颜色、背景颜色、居中等),通过循环给表头行的每一个单元格设置样式
  5. 先为数据部分的单元格创建样式(居中,边框),然后遍历循环设置导出的数据,再遍历循环所有的数据单元格,设置样式
  6. 设置列的宽度为自动适应
  7. 以流的方式返回,返回的信息有:流形式的数据、文件类型、文件名称

 

Excel的导入

三 、导入操作

  1. 先让用户下载模板,根据模板填写要进行导入的数据
  2. 当用户上传文件后,根据文件的后缀名判断是否是该类型的文件
  3. 把文件转换为二进制数组,再读取文件的字节长度
  4. 二进制数组转成内存流
  5. 利用NPOI把内存流中的数据读取成Excel
  6. 使用NPOI读取数据,判断工作簿中是否存在工作表,工作表中是否存在数据,工作表的行数是否大于0
  7. 将工作表的除了说明部分的所有数据写入到临时表
  8. 根据临时表的数据,先移除空白行,再进行数据的判断,是否重复,是否符合模板的格式,数据是否存在该字段
  9. 如果数据验证通过,保存新导入的数据到数据库

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值