2020-8-9 导出的思路

 

导出的思路:

 

实列: 导出AR数据  

 

导出分为两种:

  1. 在已有的模板上导出数据  ====》 前提:必须要提前构建好模板在已有的模板上导出数据:表头已经存在有
  2. 直接导出数据

 

第一步:引用 NPOI 插件到项目中

第二步:筛选导出数据(表格数据查询)

    1. 把需要导出的数据,进行筛选,数据存在于数据库,所以需要在控制器写一个查询方法,把需要导出的数据,通过联表的关系,进行联表查询 ===》Linq 查询语句 

 

    1. 注意:需要操作的就是 Excel 的表格  第三步:获取工作簿、工作表
      1. (1)先判断文件是否存在,如果存在,通过 NPOI 的参数先获取工作簿,后再获取工作表,如果不存在就返回失败信息。

 2020-8-9 导出的思路

 

      1. 先使用NPOI打开模板Excel,再获取工作簿

 2020-8-9 导出的思路

  工作簿:一个 Excel 的表格就代表着一个工作簿

 

2、获取工作表:通过索引的方式来获取:索引开始值为 0;获取工作簿/工作表的数据成功后,进行导出,导出需要构建表头

  第四步:构建表头(表头:人为构建)

2020-8-9 导出的思路

    1. 导出数据:一部分是表头,
    2. 2020-8-9 导出的思路

 一部分是数据 ==➔  表头根据数据进行匹配

    1. 导出数据:构建表头完成之后,设置 Excel 单元格的样式:2020-8-9 导出的思路

然后往模板中填充数据,设置数据单元格的样式,水平垂直设置对齐,最后通过 for 循环,获取导出的数据的总量(Count),通过行和列方式,进行遍历环。

2020-8-9 导出的思路

 第五步:保存导出的 Excel 文件。(使用 IO 流)

 2020-8-9 导出的思路

第三、第四步、第五步 固定的写法!!!!

(2)直接导出实列:导出 LK 数据 

 

导出思路:第一步:引用 NPOI 插件到项目中(如果项目已经引用,就不需要再次进行引用)第二步:筛选导出数据(表格数据查询)

    1. 把需要导出的数据,进行筛选,数据存在于数据库,所以需要在控制器写一个查询方法,把需要导出的数据,通过联表的关系,进行联表查询 ===》Linq 查询语句 
    2. 注意:需要操作的就是 Excel 的表格 
  1. 获取工作簿/工作表的数据成功后,直接进行导出,导出需要构建表头  第三步:获取工作簿、工作表

        (1)直接进行导出,调用 NPOI,先创建一个好工作簿:,再实列化一个工作表

2020-8-9 导出的思路

   第四步:构建表头(表头:人为构建)

      1. 第一步:先创建一个单元格的样式(调用 NPOI 里面的方法),然后设置它的样式: 

 2020-8-9 导出的思路

 

      1. 第二步:先创建第一行,行里面构建列,然后通过 for 循环给每个单元格设置样式

2020-8-9 导出的思路 

 

导出数据:(不固定)

(1)利用 for 循环自动生成表的数据,然后设置列的宽为自动适应

 2020-8-9 导出的思路

 第五步:保存导出的 Excel 文件。(使用 IO 流)   通过.xsl,输出文件的名称,最后使用 IO 流的方法保存导出的 Excel 文件

 

2020-8-9 导出的思路