1
zyxk 2023-03-26 10:36:29 +08:00
看这要求也没有用到 gui 啊, 用 golang 直接写一就行了吧. 解析 json, 下载图片, 转换为 excel , 命令行输出显示个进度就行了.
|
2
coderluan 2023-03-26 10:48:29 +08:00
|
3
janus77 2023-03-26 13:26:39 +08:00
如果你服务端压力很大,那挪到客户端应该也很大吧,甚至客户端的配置不行的情况下,对于用户来说的体验就是更慢了。你有巨型 json ,解析本来就非常花时间的,又是多一部分开销。。。
|
4
Al0rid4l 2023-03-26 16:36:01 +08:00
Tauri?
或者 https://github.com/bramblex/niva 可以看看 |
5
EscYezi 2023-03-26 17:38:52 +08:00 via Android
看起来主要是因为图片太多导致 excel 过大,进而导致服务器内存压力过大,担心影响其他业务?
其实可以考虑改成异步的方式,提交导出请求后将任务加入队列,等文件生成好在网页上下载。还可再进一步将该生成任务单独部署。 如果要做单独客户端的话可能要考虑的更多,比如版本更新如何维护等等 |
6
zjsxwc OP |
7
lawsiki 2023-03-26 21:55:57 +08:00 1
我用的 go 的 fyne 写的 gui ,用起来还行,也是一个导 excel 的工具
|
8
duan602728596 2023-03-27 13:03:10 +08:00
这个搞个 html 网页不就好了,
1. js 有成熟的库比如 xlsx.js 、sheet.js 来处理 excel 2. 解析 json so easy 3. 浏览器请求图片可以有强缓存,不需要每次都下载,节省带宽,节省时间 4. 浏览器可以多线程处理,不用担心处理的时候无响应 |
9
zjsxwc OP @duan602728596
我也考虑过这个方案,但是我看了一个 js 的 excel 库,都不支持在 excel 文件 cell 里插入图片。 |
10
zjsxwc OP @duan602728596
我也考虑过这个方案,但是我考察了几个 js 的 excel 库,都不支持在 excel 文件 cell 里插入图片。 |
11
duan602728596 2023-03-27 15:21:19 +08:00
@zjsxwc exceljs 就可以啊
|
12
zjsxwc OP @zjsxwc 支持在 excel 中插入图片的语言与库:
python https://github.com/jmcnamara/XlsxWriter/blob/main/xlsxwriter/worksheet.py#L1453 php https://github.com/NitemareReal/xlswriterplus/blob/main/xlsxwriterplus.php#L54 ruby https://github.com/cxn03651/write_xlsx/blob/main/lib/write_xlsx/worksheet.rb#L1755 java https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java#L277 csharp https://github.com/nissl-lab/npoi/blob/master/main/HSSF/UserModel/HSSFShapeGroup.cs#L249 golang https://github.com/qax-os/excelize/blob/master/picture.go#L148 cpp qt https://github.com/QtExcel/QXlsx/blob/master/QXlsx/header/xlsxdocument.h#L44 排除脚本语言 python 、php 、ruby , 排除需要额外安装 vm 的 java 、csharp , qt 需要额外带 qt 的动态链接库,会多一步解压后再选择运行,排除 qt , 选 golang 全部打包到一个可执行文件中,下载直接运行。 |
13
zjsxwc OP |