作者可乐三分糖
背景
Excel 是大部分没有信息化的公司通用的数据处理手段。但并不是所有的人对 excel 都是非常熟悉的。这些同学主要会遇到三类问题:
- Excel 的一些操作问题,如公式怎么写
- 跨表处理太复杂,即使是写公式也很繁琐。
- 一些数据批处理问题,比如加上统一后缀之类的。
曾经解决这些问题,需要使用 python 做脚本来处理,相对来说也比较复杂。但是现在有了 AI,AI 也非常善于处理这些结构化的数据场景。使用 AI,用户不需要对编程和 Excel 公式有所了解,只需要告诉 AI,你想做什么事情即可。
设计图和功能
系统 UI 设计如下:
功能主要分为两个:
- Excel 问答
- 使用 AI 来解决一些 Excel 常见的问题,比如如何将 EXCEl 导出为 csv 格式这种操作相关的问题。
- Excel 数据处理
- 将 Excel 数据导入到系统中,选中数据进行处理。这些操作分为三类。a. 选中区域数据进行操作,如简单的将 A 列和 B 列的数据相加,相加的结果放到 C 列。b. 当前页数据操作,如筛选出当前页面符合条件的数据 c. 跨页数据操作,如将 A 表和 B 表合并,姓名相同的数据合并成一行。
技术选型
我采取了社区现在最新的一些工具:
UI 组件:NextUI,由 next 社区维护的 React 组件,审美非常的 Mordern,动画效果也很好。缺点是组件不够完善,但已符合我们使用。
编译工具: Rsbuild。 这是去年最明星的项目了。
CSS : tailwindcss。NextUi 也是基于 tailwindcss 的,非常好用。
Excel 组件: Univer。 前身是广受好评的 Luckysheet ,univer 基于 Canvas 实现的高性能 Office 三件套工具,Excel 表格是其中之一,是试验中的项目,可能不够稳定,但是已经很好用了。更新和 ISSUE 响应非常快。
IDE: 本文的主角了,使用了豆包MarsCode 的云 IDE。
AI 模型:鉴于使用的用户大概率访问不到 GPT-4,因此选用了国内比较好用的模型,字节跳动的方舟大模型和阿里的灵积大模型。其中方舟包含了十几个模型,每个模型都会赠送一个 400 万的 token,非常适合个人用户使用。
豆包 MarsCode IDE 使用
工程模板
豆包MarsCode IDE 的模式跟 Sandbox 很像,但是内置了很多模板,主流的语言都有,遗憾的是没有 Electron 模板。但是想想 Electron 可能也无法进行调试,这可能是云 IDE 的一大缺陷,无法调用宿主环境。
主界面
主界面的操作逻辑跟 VSC 没有太大区别,只是侧边栏放在了右边。可以看到有 git,插件商店,底部状态栏。
这里我觉得作为云 IDE,一个比本地 IDE 好做的地方,是可以根据模板类型,内置一些插件的安装,以及保持每个项目独立的插件配置可能更好一点。
从插件内容上看,很多插件是没有的,比如主题,icon 相关的都搜不到。
底部状态栏的内容也比较少,像 node 版本,插件状态这种项目信息都没展示。
编程体验
豆包MarsCode 的 IDE 使用的是 monaca,和 vscode 的底层是一样的,大概率是使用了 vscode 的 web 版本。实际使用体验可圈可点,好的是速度很快,相比 SandBox 这些产品,其安装依赖,demo 运行的速度都很快。内置的功能模版也比较好用。但是在开发的流畅性确实要差一点,在使用过程中遇到包括但不仅限于以下的一些问题:
- 插件经常无法唤起,比如 tailwindcss 插件。当然 tailwindcss 插件在本地的时候也会有无法唤起的时候,但是在豆包MarsCode 上这个几率明显偏高。
- 无法与本地文件互通,这就导致我想把一些本地图片放进项目或者想把项目中的文件拿下来,就无法实现。
- 热更新会导致编辑失焦,开发体验非常不流畅
- 文本编辑是没有编辑态的。在 vsc 中,只有编辑态被保存之后,才会触发热更新,但是豆包MarsCode 则是每写一个字母就会触发一下,结合问题 3,编程体验就非常痛苦了。
我个人对云 IDE 是一个不太乐观的态度,个人使用的场景也仅限于在某些场景下进行少量的代码修改,比如在平板上,或者修改服务器代码时,以及在部分场景下去复现问题的 demo 时会用的上,还是无法作为主要编程场景使用。希望豆包MarsCode 会快速进化,打破我这种认知。
AI 编程助手
编程助手是非常好用的功能,主要作用在帮忙写代码,写单测上。
使用 TS 时,使用编程助手帮忙生成 TS 的类型,非常省时省力。
如果你需要看一些依赖库的代码时,它可以帮你读代码。这个功能很好用,如果能够搭配 AI 的工作流,生成调用关系图,那么对于源码阅读来说就是超级利器了。
在开发过程中,对于 Excel 导出导入的实现思路,以及如何写逻辑,都很大程度上依赖了豆包MarsCode 助手。可以说,在使用新技术栈上,AI 助手发挥的作用,怎么夸都不为过。
用户体验上的问题是,补全的代码经常会缺少必要的闭合符,在复杂的代码中,调闭合符的成本比较高,希望可以改进
产品效果展示
Excel 问答
Excel 数据处理
源码
本项目有一个 Electron 版本的,源码地址: github.com/congxiaobai…