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

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

  Fechin ·
Fechin · 2020-04-27 16:57:37 +08:00 · 13490 次点击
这是一个创建于 1701 天前的主题,其中的信息可能已经有所发展或是发生改变。

一个纯后端,写前端真实磨人,断断续续做了一年多,斗胆拿出来给 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   ·   实用小工具   ·   1171 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.