V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Fechin
V2EX  ›  分享创造

一个纯后端写的纯前端项目,表格转换工具 TableConvert

  Fechin ·
Fechin · 2020-04-27 16:57:37 +08:00 · 13689 次点击
  •   查看本主题需要登录
    这是一个创建于 1781 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个纯后端,写前端真实磨人,断断续续做了一年多,斗胆拿出来给 V 友们尝尝!

    https://tableconvert.com

    为什么开发这个工具?

    • 博文用 Markdown 编写,表格写起来麻烦,就想做个在线写 Markdown 的工具
    • 工作中需要把 Excel 的表格数据转换成代码
    • 快速把 Excel 文件入库.
    • ...

    于是就有了它。代码已经越写越乱,自己都看不下去了...

    2.功能列表:

    • 简单的类 WYSIWYG 表格编辑器
    • 实时输出 Markdown 、JSON 、LaTeX 、Excel 等将近 20 种格式的数据
    • 导入 Excel 、JSON 、CSV 、HTML 等 7 种格式的数据,实现互转
    • 每种格式有单独的 Options 可定制输出
    • 从 URL 中抓取 HTML 表格
    • 把各种表格转换成 PDF 或 JPG 图片

    导入和输出结合起来就能实现 JSON 转 CSV 、Excel 转 Insert SQL 、JSON 转 Markdown 、CSV 转 Markdown 、Excel 转 LaTeX 表格、HTML table 转 DIV table 、LaTeX 转 Excel 等等功能。

    3.通过 URL 导入

    https://tableconvert.com/?import={import}&output={output}&data={url}
    

    import : html | csv (默认) | json | markdown | latex ...

    output : markdown (默认) | excel | mediawiki | xml | latex ...

    url: 包含import格式文本的网址

    举个栗子:

    https://tableconvert.com/?output=json&data=https://gist.githubusercontent.com/curran/a08a1080b88344b0c8a7/raw/d546eaee765268bf2f487608c537c05e22e4b221/iris.csv
    

    4.IDEA 输出

    这是一个自定义的输出格式,有三个表达式可用:

    • <sep>: 按 sep 分隔每行的单元格
    • $n: 取第 n 列,这里 n 从 0 开始
    • +n: 从 n 递增,可用做 id 自增

    举个栗子: 怎样快速将表格数据转换成 Java 代码?

    Header Template: 为空

    Rows Template: list.add(new String[]{"<",">"});

    输出:

    list.add(new String[]{"id","name","age","gender"});
    list.add(new String[]{"1","Roberta","39","M"});
    list.add(new String[]{"2","Oliver","25","M"});
    ...
    

    很久没认真发帖了,欢迎给出你的意见~~

    第 1 条附言  ·  2020-04-29 12:43:31 +08:00
    - 新增了 SQL 导入,用正则做的,所以 SQL 文本可以包含注释,正则可能不太稳定,欢迎大家提 BUG
    - 内容为空点 Download 无效
    - 导入 Excel 乱码是因为还没集成 Excel 库,排期中~

    没想到有这么多人在用,这么多人喜欢,感谢感谢!
    103 条回复    2023-01-12 09:18:29 +08:00
    1  2  
    kaiki
        1
    kaiki  
       2020-04-27 17:05:53 +08:00   ❤️ 1
    真是个好东西
    hg
        2
    hg  
       2020-04-27 17:18:12 +08:00   ❤️ 1
    真棒~
    somefree
        3
    somefree  
       2020-04-27 17:25:20 +08:00   ❤️ 1
    niubility~
    littleylv
        4
    littleylv  
       2020-04-27 17:26:07 +08:00   ❤️ 1
    非常好
    justin2018
        5
    justin2018  
       2020-04-27 17:27:03 +08:00   ❤️ 1
    挺好用的~~ 之前分享过 原来作者竟然在 v 站 😁
    MaxTan
        6
    MaxTan  
       2020-04-27 17:34:17 +08:00   ❤️ 1
    挺实用的,赞一个
    Ritter
        7
    Ritter  
       2020-04-27 17:42:59 +08:00   ❤️ 1
    niu
    SuperManNoPain
        8
    SuperManNoPain  
       2020-04-27 17:47:39 +08:00   ❤️ 1
    导入 excel 后遇到了乱码问题.不知道是不是我自己文件的问题
    Alexpy
        9
    Alexpy  
       2020-04-27 17:52:19 +08:00   ❤️ 1
    good
    ksc010
        10
    ksc010  
       2020-04-27 17:59:06 +08:00   ❤️ 1
    中文 导出 pdf 乱码
    sanggao
        11
    sanggao  
       2020-04-27 18:01:58 +08:00   ❤️ 1
    刚用 发现一个 bug
    SuperManNoPain
        12
    SuperManNoPain  
       2020-04-27 18:05:31 +08:00   ❤️ 1
    直接从 excel 复制进去还是很好用的, 很棒的工具,希望能维护下去
    looseChen
        13
    looseChen  
       2020-04-27 18:06:23 +08:00   ❤️ 1
    之前看到阮一峰推荐过这个工具,用过几次,感觉还不错。
    huiyadanli
        14
    huiyadanli  
       2020-04-27 18:09:59 +08:00   ❤️ 1
    用过,很好用!
    zhuzhifen
        15
    zhuzhifen  
       2020-04-27 18:16:16 +08:00   ❤️ 1
    很不错耶~
    qiayue
        16
    qiayue  
       2020-04-27 18:22:04 +08:00   ❤️ 1
    试用了一下,很好用
    djzhao
        17
    djzhao  
       2020-04-27 18:28:25 +08:00 via Android   ❤️ 1
    谢 大佬!
    chanshiyu
        18
    chanshiyu  
       2020-04-27 18:34:02 +08:00 via Android   ❤️ 1
    已经用了好久了的说
    Fechin
        19
    Fechin  
    OP
       2020-04-27 18:46:01 +08:00   ❤️ 1
    @justin2018 感谢分享~
    @SuperManNoPain Download 或者建个空 Excel 、工具里点 Copy,粘贴进去不会乱码吧😝
    @ksc010 感谢反馈,我会尽快修正
    @sanggao 老哥,什么 bug,描述一下~
    @SuperManNoPain 会一直维护的
    jedicxl
        20
    jedicxl  
       2020-04-27 18:57:46 +08:00   ❤️ 1
    原来是楼主做的,真的棒!
    wbrobot
        21
    wbrobot  
       2020-04-27 19:02:47 +08:00   ❤️ 1
    东西不错,我来提需求了
    居然没有 sqlite... 和 MS Access... 加油呀!
    sorry
        22
    sorry  
       2020-04-27 19:05:18 +08:00   ❤️ 1
    赞~
    Cmdhelp
        23
    Cmdhelp  
       2020-04-27 19:07:05 +08:00   ❤️ 1
    google adsense 怎么申请 ,
    建议,空文档不要让点击下载了
    YOUMA
        24
    YOUMA  
       2020-04-27 19:07:28 +08:00   ❤️ 1
    之前看到阮一峰推荐过这个工具,用过几次,感觉还不错。
    yafoo
        25
    yafoo  
       2020-04-27 19:16:18 +08:00 via Android   ❤️ 1
    支持,手机端样式需要优化下
    mader
        26
    mader  
       2020-04-27 20:19:23 +08:00   ❤️ 1
    同导入 excel 乱码
    chaselen
        27
    chaselen  
       2020-04-27 22:11:27 +08:00 via Android   ❤️ 1
    怎么合并单元格呢
    HuberyPang
        28
    HuberyPang  
       2020-04-28 09:04:51 +08:00   ❤️ 1
    已加入收藏夹,支持,非常 nice
    Fechin
        29
    Fechin  
    OP
       2020-04-28 09:47:00 +08:00   ❤️ 1
    @wbrobot 老哥,SQL 输出计划只开一个口,SQL 语法大部分通用,如果有 SQL Options 可以告诉我
    @Cmdhelp 建议已收下,谢谢
    @yafoo 感觉手机上很少用到表格转换,一直没关系手机样式~
    @mader 是下载后的 Excel 打开乱码嘛?我在 Mac 和 Windows 测试了中文导出,没能复现问题
    @chaselen 不支持合并单元格哦,合并了很多输出格式就没法用了
    Vegetable
        30
    Vegetable  
       2020-04-28 09:53:23 +08:00   ❤️ 1
    乱码可能是因为 windows 的 excel 使用 gbk 的原因,不知道你有没有做过这方面的处理.
    levon
        31
    levon  
       2020-04-28 09:53:35 +08:00   ❤️ 1
    哇,我经常使用的一个产品啊,非常不错
    Vegetable
        32
    Vegetable  
       2020-04-28 09:57:38 +08:00   ❤️ 1
    只复现了 pdf 的中文乱码,excel 没复现成功, 东西是好东西,经常能用到
    暂时不用写代码把 excel 转成 json 了哈哈
    gloye
        33
    gloye  
       2020-04-28 10:04:55 +08:00   ❤️ 1
    太强了!
    secretName
        34
    secretName  
       2020-04-28 10:06:33 +08:00   ❤️ 1
    很好的产品,赞一个
    ImaChenai
        35
    ImaChenai  
       2020-04-28 10:20:09 +08:00   ❤️ 1
    qiguai2017
        36
    qiguai2017  
       2020-04-28 10:29:38 +08:00   ❤️ 1
    要是能单元格合并,表格内嵌表格就更赞了
    yazoox
        37
    yazoox  
       2020-04-28 10:37:23 +08:00 via Android   ❤️ 1
    真厉害啊!牛!
    wbrobot
        38
    wbrobot  
       2020-04-28 10:43:33 +08:00
    @Fechin 我是说导入,我想把 sqlite 转 json,或者转 sql 语句导入 MySQL
    yuyu2140
        39
    yuyu2140  
       2020-04-28 10:51:01 +08:00   ❤️ 1
    直戳我心坎,赞一个
    Fechin
        40
    Fechin  
    OP
       2020-04-28 11:42:19 +08:00
    @Vegetable 没做特殊处理,我研究下~
    Fechin
        41
    Fechin  
    OP
       2020-04-28 11:43:52 +08:00
    @wbrobot 好的,导入 SQL 已经在排期了,我加个急😀
    wbrobot
        42
    wbrobot  
       2020-04-28 12:15:45 +08:00   ❤️ 1
    @Fechin sqlite 是单文件,有 js 库可以直接读
    noparking188
        43
    noparking188  
       2020-04-28 13:00:12 +08:00   ❤️ 1
    早就收藏在用了,感谢作者
    violetlai
        44
    violetlai  
       2020-04-28 13:32:29 +08:00   ❤️ 1
    很好用,刚刚 v 站卖二手还用到了❤️
    ccsulzf0627
        45
    ccsulzf0627  
       2020-04-28 17:12:47 +08:00   ❤️ 1
    厉害,优秀
    myjava
        46
    myjava  
       2020-04-28 17:18:41 +08:00   ❤️ 1
    非常棒
    mader
        47
    mader  
       2020-04-28 20:11:36 +08:00   ❤️ 1
    @Fechin excel 上传导入的时候乱码
    0uyangtian
        48
    0uyangtian  
       2020-04-29 09:03:09 +08:00   ❤️ 1
    其他输出格式不知道,但是 PHP 的输出格式是有问题的,既然表格有表头,那么表头的值就应该作为 PHP 数组里面的 key 值,而不是作为 value 输出
    yuankui
        49
    yuankui  
       2020-04-29 10:57:21 +08:00   ❤️ 1
    好东西啊!请问楼主表格编辑用的啥库?
    Fechin
        50
    Fechin  
    OP
       2020-04-29 12:44:49 +08:00
    @wbrobot 新增了 SQL 导入,来测试一个
    Fechin
        51
    Fechin  
    OP
       2020-04-29 12:46:50 +08:00
    @mader 好的,是因为没有添加 Excel 读取库,排期中~
    @0uyangtian 感谢建议,我没整过 PHP,后期会加一个 k/v 格式的 Options
    laycher
        52
    laycher  
       2020-04-29 13:18:36 +08:00   ❤️ 1
    用 Firefox,打开后 点点一直再闪,点其他的没用,难道我的姿势不对?
    Fechin
        53
    Fechin  
    OP
       2020-04-29 14:06:27 +08:00
    @laycher 问题已修复,Firefox 浏览器不支持 Lookbehind 正则语法导致的
    Keyes
        54
    Keyes  
       2020-04-29 14:15:38 +08:00 via iPhone   ❤️ 1
    @SuperManNoPain 加 BOM 试试
    zerogzs
        55
    zerogzs  
       2020-04-29 14:54:53 +08:00   ❤️ 1
    真不错!
    GopherTT
        56
    GopherTT  
       2020-04-29 22:18:58 +08:00   ❤️ 1
    挺不错的呀 样式也好看
    jiewuza
        57
    jiewuza  
       2020-04-29 23:28:10 +08:00 via Android   ❤️ 1
    确实蛮好用的
    不过我更想要的是不规则表格的制作
    能够支持从网页表格到 latex 的转换就好(其他很多格式本身也不能支持)
    creatdate
        58
    creatdate  
       2020-04-30 08:01:25 +08:00   ❤️ 1
    不错,可用。
    apeople
        59
    apeople  
       2020-04-30 08:35:25 +08:00   ❤️ 1
    厉害啊,收藏了
    Fechin
        60
    Fechin  
    OP
       2020-04-30 10:11:55 +08:00
    @jiewuza
    @qiguai2017
    @chaselen

    三位提到都提到了复杂的表格,比如合并和嵌套,如果要支持复杂表格,那么现有的很多格式将不可用,比如 CSV 、SQL 、JSON 、Markdown 等,目前支持的格式多数都是规则的二维表。

    我想到的时检测到目前正在编辑复杂表格后,不可用的格式置灰,大家有什么好建议?
    jucelin
        61
    jucelin  
       2020-04-30 10:21:35 +08:00   ❤️ 1
    有个小问题,输入中文的时候,首字母丢了
    https://i.loli.net/2020/04/30/e7PRCSHxaW4jfX9.png
    kokdemo
        62
    kokdemo  
       2020-04-30 10:51:33 +08:00   ❤️ 1
    这个居然是楼主做的,太厉害了

    我在这篇文章里就提到 https://wocai.de/post/2019/05/%E5%B8%B8%E7%94%A8%E7%9A%84-markdown-%E5%B7%A5%E5%85%B7/#%E5%9B%9B-%E8%A1%A8%E6%A0%BC%E7%94%9F%E6%88%90

    当时还以为是国外的开发者的作品……
    Fechin
        63
    Fechin  
    OP
       2020-04-30 10:53:03 +08:00
    @jucelin 这是个很有意思的问题,你先按 Enter 或者双击单元格,再输入中文
    lidongdongnk
        64
    lidongdongnk  
       2020-04-30 10:58:36 +08:00   ❤️ 1
    真好,赞美作者
    jucelin
        65
    jucelin  
       2020-04-30 10:59:32 +08:00   ❤️ 1
    @Fechin #62 这是选中后直接输入的时候出现的,如果已经进入输入态,就没有这个问题了
    Fechin
        66
    Fechin  
    OP
       2020-04-30 11:06:06 +08:00   ❤️ 1
    @kokdemo 感谢感谢!中式英语,写点文章全靠翻译~
    Fechin
        67
    Fechin  
    OP
       2020-04-30 11:12:10 +08:00
    @yuankui 编辑器没有用到库,自己开发的
    xrr2016
        68
    xrr2016  
       2020-04-30 12:30:41 +08:00   ❤️ 1
    大佬 NB !
    zhezhi
        69
    zhezhi  
       2020-04-30 12:59:18 +08:00   ❤️ 1
    收藏备用。
    jin7
        70
    jin7  
       2020-04-30 13:21:07 +08:00   ❤️ 1
    lz
    php 自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。
    NickyPP
        71
    NickyPP  
       2020-04-30 16:12:04 +08:00   ❤️ 1
    UI 很舒服,收藏了
    CY4suncheng
        72
    CY4suncheng  
       2020-04-30 16:17:03 +08:00   ❤️ 1
    jiewuza
        73
    jiewuza  
       2020-04-30 22:56:47 +08:00 via Android
    @Fechin
    我觉得把不支持复杂表格的格式变灰,是完全可以接受的
    并且非常期待这个功能
    kevtyle
        74
    kevtyle  
       2020-05-01 13:12:22 +08:00   ❤️ 1
    楼主是怎么转换 excel 文件的,比较好奇
    loading
        75
    loading  
       2020-05-01 13:47:47 +08:00   ❤️ 1
    不错,挺好。
    YOUMA
        76
    YOUMA  
       2020-05-01 15:35:06 +08:00
    其他输出格式不知道,但是 PHP 的输出格式是有问题的,既然表格有表头,那么表头的值就应该作为 PHP 数组里面的 key 值,而不是作为 value 输出
    bobsam
        77
    bobsam  
       2020-05-06 12:57:12 +08:00
    想知道是怎么实现的呢?会开源吗?
    freak118
        78
    freak118  
       2020-05-06 13:29:29 +08:00
    NB
    abelce
        79
    abelce  
       2020-05-07 14:07:12 +08:00
    终于找到作者了,以前用过
    ztjryg4
        80
    ztjryg4  
       2020-05-08 13:43:40 +08:00
    用到过这个,非常好用,当时还以为是国外开发者的作品,没想到作者是 v 友,感谢!
    同遇到过中文输入吃首字母的问题,已经了解可以先 Enter 再输入,不过如果能像英文一样直接输入的话感觉会更方便。
    Flywith24
        81
    Flywith24  
       2020-05-08 18:21:52 +08:00
    用例很久了,点赞
    gunavy
        82
    gunavy  
       2020-05-08 19:12:45 +08:00
    好用!
    vison09
        83
    vison09  
       2020-05-09 10:19:12 +08:00
    马克
    sunshinev
        84
    sunshinev  
       2020-05-09 10:32:33 +08:00
    很有新意啊,点赞
    insaneguy
        85
    insaneguy  
       2020-05-09 10:57:21 +08:00
    非常赞,感谢分享!
    namelosw
        86
    namelosw  
       2020-05-12 00:06:30 +08:00
    很不错
    自动下载是不是可以关掉,或者可以设置……切一切 tab 不小心就下了好几个文件。
    对前端感兴趣也可以试试下载先到浏览器 blob 直接预览,然后点击下载。
    chnyung
        87
    chnyung  
       2020-05-12 12:32:12 +08:00
    用来一下非常好!特意登陆上来感谢作者。谢谢你大佬
    goldenalex
        88
    goldenalex  
       2020-05-12 15:23:15 +08:00
    试用了一下,感觉不错哦。。。

    支持支持。。。

    发现两个小问题。。。

    1 、pdf 输出中文乱码
    2 、md 输出,在数据中有较长的数据和空数据混合的情况下会对不齐
    meisen
        89
    meisen  
       2020-05-12 16:49:48 +08:00
    感谢分享❤️
    rp722
        90
    rp722  
       2020-05-12 17:25:44 +08:00
    给力 好东东
    zhenlang
        91
    zhenlang  
       2020-05-12 22:59:51 +08:00
    这 ui 不错啊,老哥创意满满
    jones2000
        92
    jones2000  
       2020-05-13 01:49:16 +08:00
    没有考虑对大数据量的处理逻辑, 比如 10W 条数据的显示和实时更新。前端表格开源的很多, 但对大数据量的显示支持的很少,基本上 10W 条数据就卡了。
    96412hj
        93
    96412hj  
       2020-05-13 15:02:24 +08:00
    老哥 开源吗
    Fechin
        94
    Fechin  
    OP
       2020-05-13 17:50:55 +08:00
    @jin7 感谢分享
    @kevtyle https://github.com/linways/table-to-excel
    @bobsam @96412hj 代码写的太乱了,以后把代码模块化了再考虑
    @ztjryg4 这个问题还没找到解决办法~
    @namelosw 感谢反馈
    @jones2000 大数据显示倒是有解决方案,可尝试屏幕可见区动态渲染表格,非可见区不渲染,关键是实时处理大数据的格式转换这是个问题
    Fechin
        95
    Fechin  
    OP
       2020-05-13 17:54:45 +08:00   ❤️ 1
    @goldenalex pdf 中文乱码需要导入字体,会拖慢网站速度,排期研究中~,转 markdown 时单元格内容存在空格确实会变形,不过空格属于内容了,不能强制修改,倒是可以加一个对单元格数据的查找替换的工具
    liuye1992
        96
    liuye1992  
       2020-05-14 04:18:34 +08:00
    好,灰常实用。就没看懂这个令人费解的标题。

    在我看来这不就是个数据结构转换器。转换出来的各类常用的数据结构文档经常会在网站开发中用到而已。
    em2046
        97
    em2046  
       2020-05-22 20:41:12 +08:00

    提报一个 Bug,转 JSON 格式时,空格会丢失。
    em2046
        98
    em2046  
       2020-05-22 20:53:22 +08:00

    还有一个小的体验问题,控制条在最右侧边缘时显示不完全,无法进行删除列操作。
    justin2018
        99
    justin2018  
       2020-05-27 16:27:14 +08:00
    @Fechin 楼主 咨询下 这个地方是用的开源的库吗? 谢谢~ 其实想偷懒😁

    ![Q3YIdsm]( )
    laycher
        100
    laycher  
       2021-01-06 13:20:26 +08:00
    @Fechin 请问,我有 excel 文件导入是乱码?这个如何解决?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5109 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 01:18 · PVG 09:18 · LAX 18:18 · JFK 21:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.