# sunny-excel **Repository Path**: chenll/sunny-excel ## Basic Information - **Project Name**: sunny-excel - **Description**: 一款在web 环境下 通过注解实现的excel 上传下载的 轻量级excel工具 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-10-13 - **Last Updated**: 2021-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sunny-excel #### 介绍 一款在web 环境下 通过注解实现的excel 上传下载的 轻量级excel工具 #### 软件架构 软件架构说明 #### 安装教程 1. 源码安装,代码git clone 下来 打包 成jar,然后项目中直接引用 com.shucq sunny-excel 1.0-SNAPSHOT #### 使用说明 1. excel 下载 使用: 1.新建一个类 继承 ExcelDataDownloadable,并且 @Component,让Spring 管理。 2.对于要导出的模板类 可以通过如下配置: 用@Excel标识该类是一个excel 模板 @ExcelCol 标识单元格。 2.excel上传解析List 1. 配置该DTO 类 标致为Excel, @ExcelCol(字段) 标识单元格 2. 配置拦截器 3. @ExcelFile(dataClass = SubsidiaryRecord.class) @ExcelFile 标致是excel文件,dataClass 标致将excel转成这个类的实例List。 3. 使用案例: 4. 多 excel sheet 转不同List对象 代码 案例 如下 : ``` @RequestMapping(value = "/multiSheet/upload", method = RequestMethod.POST) @ResponseBody public Map uploadSubsidiaryBudgetCompilation( @MultiSheetExcelFile(dataClasses = {SubsidiaryRecord.class, SubsidiaryDTO.class}) Object records) throws IOException { Map, List> uploadData = (Map, List>) records; List subsidiaryRecordList = uploadData.get(new Tuple2(0, SubsidiaryRecord.class)); List subsidiaryDTO = uploadData.get(new Tuple2(1, SubsidiaryDTO.class)); Map result = new HashMap<>(); result.put("subsidiaryRecordList", subsidiaryRecordList); result.put("subsidiaryDTO", subsidiaryDTO); return result; } ``` 4. @ExcelCol 支持 必填,文件格式以及排序等小功能。 3. ExcelColMap 支持传输kv 格式的Map下载excel 以支持自定义表单 excel下载 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)