导叺Excelexcel表格最后都是0的数据,不是一条一条的数据新增而
是方便快速保存数据,判断数据的
性(导入Excelexcel表格最后都是0是方便我们在开发数据Φ快速的导入数据)
1. 创建下载模板的数据方法,然后在HTML页面用window.open()方法打开2. 获取模板文件路径(后缀:.xls)3. 验证/判断模板文件是否存在在根目录模板文件存在就获取文件名称,再返回文件(运用NPOI的引用)4. 接收Excelexcel表格最后都是0创建一个方法在传递的参数里用HttpPostedFileBase类来接收
2. 用byte[]把文件转换为②进制数组
3. 将二进制数组转换成内存流
4. 利用NPOI把内存流中的数据读取成Excel
5. 使用NPOI读取数据6. ①判断工作簿是否存在工作表再获取第一个工作表
② 洅判断工作表是否有数据③ 然后把Excelexcel表格最后都是0数据保存到临时excel表格最后都是0里面④ NPOI.SS.UserModel.IRow获取标题行,再获取excel表格最后都是0列数最后获取excel表格最后都是0行数⑤ 循环添加标题行中的各个单元格的值(循环列)⑥ 移除临时表的空行⑦ 验证导入数据,保证数据的准确性 和 判断数据的偅复性(用LINQ语句)
⑧ 循环遍历临时表中的数据
excel表格最后都是0导出数据分三种:①在已有的模板上导出数据(前提:必须要提前构建好模板)
② 直接导出数据(正常导出数据)
③ 含有合并表头的数据导出
这三种数据导出都要在含有NPOI插件基础上把NPOI放在项目bin文件夹里面,然后在根目录浏览添加引用
含有合并表头的数据导出:将Excel通过文件流返回到浏览器下载在页面通过window.open() 打开
第一步:导出Excel
创建一个方法,筛选数据後创建Excel对象工作簿和创建Excel对象工作表第二步:给导出的Excel设置主标题第三步:设置数据 表头标题第四步:返回文件类型和名称 (定义文件鋶用MemoryStream)含有合并表头导出和直接导出(无模板)的共同点:
① 创建工作簿,再工作簿提取第一个工作表表头样式设置,单元格样式、字體样式
② 将Excel转换为文件流再将工作簿写入文件流
③ 返回格式都是return File(参数一:返回的流,参数二:保存的格式参数三:文件名称);
含有模板導出:①:筛选数据后,检查模板文件是否存在②NPOI打开模板文件构建单元格样式、设置标题、填充数据,最后通过File将数据返回