前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >csv导入导出组件jcsv

csv导入导出组件jcsv

作者头像
一笠风雨任生平
修改2019-08-20 16:02:07
1.6K0
修改2019-08-20 16:02:07
举报
文章被收录于专栏:服务化进程服务化进程

jcsv

介绍

jcsv一个简单的、轻量级的csv导入、导出库,相对于opencsv与javacsv,jcsv侧重于导入导出,包括导入校验、导出模板等。 源代码地址:https://gitee.com/lpxs/jcsv.git

使用说明

jcsv现在只支持集成到springboot工程中

依赖库
代码语言:javascript
复制
<dependency>
            <groupId>com.jcsv</groupId>
            <artifactId>jcsv</artifactId>
            <version>0.0.1-RELEASE</version>
        </dependency>
配置说明
代码语言:javascript
复制
csv-config:
  exportc:
    - id: aa
      compress:
        enabled: true
        file-size: 10000
        type: zip
      template: /template/aa.csv

  importc:
    - id: throng-0
      desc : "上传member_id"
      max-size: 30 #单位m
      start-row: 2
      separator: ","
      valicate:
        - { col: 0, name: member_id,validateRegex: "^\\d{1,10}$", hint: "请填写10位以内的数字",required: true}
    - id: throng-1
      desc : "上传email+语言+站点"
      max-size: 30 #单位m
      separator: ","
      start-row: 2
      valicate:
        - { col: 0, name: email,required: true,validateRegex: "^[éûàçùôîèíá¡N¿UóñúäöüßàèùåäöãáéàêçíşçöüğşàâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇA-Za-z0-9_\\-\\.\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$", hint: "邮箱地址错误"}
        - { col: 1, name: language ,required: true,hint: "语言错误" ,td-id: 11}
        - { col: 2, name: site_id,required: true,hint: "站点错误" ,td-id: 13 }
    - id: throng-3
      desc: "上传member_id+占位符"
      max-size: 30 #单位m
      separator: ","
      start-row: 2
      check-column-size: false //该字段是表示不限制字段个数,没有在valicate中配置不需要校验
      valicate:
        - { col: 0, name: member_id,validateRegex: "^\\d{1,10}$", hint: "请填写10位以内的数字",required: true}
    - id: throng-4
      desc: "上传email"
      max-size: 30 #单位m
      start-row: 2
      separator: ","
      valicate:
        - { col: 0, name: email,required: true,validateRegex: "^[éûàçùôîèíá¡N¿UóñúäöüßàèùåäöãáéàêçíşçöüğşàâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇA-Za-z0-9_\\-\\.\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$", hint: "邮箱地址错误"}
导入
代码语言:javascript
复制
@Autowize
private CsvContext csvContext;
public BaseDataAPI upload(HttpServletRequest request,
                                        @RequestParam("file") MultipartFile file){
try {
            if(file==null){
                return D.error("请上传文件");
            }
           
            //解析模板内容,对比模板内容是否和上传的一样外层需要抓取异常因为错误信息是以异常来进行鉴别
            List<Map<String,Object>> list= csvContext.transfer(file,"throng-"+uploadType,product);
            
            return D.ok(hash);
        } catch (CsvImportException e) {
            return D.error(e.getMessage());
        } catch (Exception e) {
            return D.error(e.getMessage());
        }
 }
导出
代码语言:javascript
复制
@Autowize
private CsvContext csvContext;
public BaseDataAPI export(){

         、try {
                fileName = new String(fileName.getBytes(), "ISO8859-1");
            } catch (UnsupportedEncodingException var3) {
                var3.printStackTrace();
            }
            response.setContentType(MediaType.APPLICATION_OCTET_STREAM.toString());
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
            response.addHeader("Pargam", "no-cache");
            response.addHeader("Cache-Control", "no-cache");
            FileCopyUtils.copy(csvContext.export(id,data), response.getOutputStream());
        } catch (Exception var4) {
            var4.printStackTrace();
        }
 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • jcsv
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档