V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjsxwc
V2EX  ›  程序员

这种情况我应该采用哪种 gui 方案最简单

  •  
  •   zjsxwc ·
    zjsxwc · 2023-03-26 10:21:23 +08:00 via Android · 1633 次点击
    这是一个创建于 611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    情况是这样的:
    公司内部有个导出 Excel 的功能,
    Excel 文件里每行包括一个图片,
    目前是直接服务端生成 Excel 文件,
    但是运行了一段时间后要导出的 Excel 文件越来越大,
    极端情况单文件大小会到 2G 多,而且生成 Excel 时服务器压力也越来越大,
    主要问题是 Excel 里图片越来越多,

    我现在考虑不提供导出 Excel ,只提供导出 json 文件,然后用一个 gui 程序让用户在自己的电脑上把 json 转化为 Excel 文件,gui 程序就是解析 json ,下载图片,最后转化成一个 Excel 文件。

    那么这种情况我应该采用哪种 gui 方案最简单,要求是能 win 、macos 支持,双击就能运行,体积越小越好。
    zyxk
        1
    zyxk  
       2023-03-26 10:36:29 +08:00
    看这要求也没有用到 gui 啊, 用 golang 直接写一就行了吧. 解析 json, 下载图片, 转换为 excel , 命令行输出显示个进度就行了.
    coderluan
        2
    coderluan  
       2023-03-26 10:48:29 +08:00
    janus77
        3
    janus77  
       2023-03-26 13:26:39 +08:00
    如果你服务端压力很大,那挪到客户端应该也很大吧,甚至客户端的配置不行的情况下,对于用户来说的体验就是更慢了。你有巨型 json ,解析本来就非常花时间的,又是多一部分开销。。。
    Al0rid4l
        4
    Al0rid4l  
       2023-03-26 16:36:01 +08:00
    Tauri?
    或者 https://github.com/bramblex/niva 可以看看
    EscYezi
        5
    EscYezi  
       2023-03-26 17:38:52 +08:00 via Android
    看起来主要是因为图片太多导致 excel 过大,进而导致服务器内存压力过大,担心影响其他业务?
    其实可以考虑改成异步的方式,提交导出请求后将任务加入队列,等文件生成好在网页上下载。还可再进一步将该生成任务单独部署。
    如果要做单独客户端的话可能要考虑的更多,比如版本更新如何维护等等
    zjsxwc
        6
    zjsxwc  
    OP
       2023-03-26 21:14:23 +08:00 via Android
    @janus77
    @EscYezi
    啊,公司只给了一个云服务器,2c8g ,3m 带宽,
    搞个异步队列服务器条件不允许。
    虽然访问频率低,但多个人下载几百兆的文件带宽也吃不消。
    员工自己电脑来合成一个 Excel 文件,不会有员工电脑配置低的问题。
    lawsiki
        7
    lawsiki  
       2023-03-26 21:55:57 +08:00   ❤️ 1
    我用的 go 的 fyne 写的 gui ,用起来还行,也是一个导 excel 的工具
    duan602728596
        8
    duan602728596  
       2023-03-27 13:03:10 +08:00
    这个搞个 html 网页不就好了,
    1. js 有成熟的库比如 xlsx.js 、sheet.js 来处理 excel
    2. 解析 json so easy
    3. 浏览器请求图片可以有强缓存,不需要每次都下载,节省带宽,节省时间
    4. 浏览器可以多线程处理,不用担心处理的时候无响应
    zjsxwc
        9
    zjsxwc  
    OP
       2023-03-27 14:56:41 +08:00
    @duan602728596
    我也考虑过这个方案,但是我看了一个 js 的 excel 库,都不支持在 excel 文件 cell 里插入图片。
    zjsxwc
        10
    zjsxwc  
    OP
       2023-03-27 14:57:07 +08:00
    @duan602728596
    我也考虑过这个方案,但是我考察了几个 js 的 excel 库,都不支持在 excel 文件 cell 里插入图片。
    duan602728596
        11
    duan602728596  
       2023-03-27 15:21:19 +08:00
    @zjsxwc exceljs 就可以啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3164 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:43 · PVG 21:43 · LAX 05:43 · JFK 08:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.