V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Ender233
V2EX  ›  问与答

excel 中如何调用脚本或者其他程序?

  •  
  •   Ender233 · 2017-09-10 22:29:04 +08:00 · 3502 次点击
    这是一个创建于 2649 天前的主题,其中的信息可能已经有所发展或是发生改变。

    excel 中有一列标示了 bug 的问题单号,这个单号在跟踪系统的服务器上有很多状态(关闭与否等等),当前统计状态都是手工刷新:

    1. 登录 bug 跟踪系统
    2. 复制粘贴单号,看到状态,然后输入到 excel 中对应的一列.

    想实现每天对这些问题单状态在 excel 里面的自动刷新. 用什么方式比较合适呢? 我能想到的是:

    1. 启动一个可以内嵌到 excel 的脚本(VBA? python ?) 读取对应列所有数据.
    2. 启动一个 http client,用步骤 1 的数据作为输入,获取所有的状态.
    3. 返回并刷新对应列的状态.

    这个思路对么? 如果对的话,我对步骤 1&3 具体应该怎么搞呢. 如果不对的话,有没有比较合适的方式实现此功能呢.

    9 条回复    2017-09-11 12:18:25 +08:00
    lekai63
        1
    lekai63  
       2017-09-10 22:35:10 +08:00 via iPhone
    excel 可以直接从 SQL 等数据库添加数据并自动更新
    qooweds
        2
    qooweds  
       2017-09-10 22:42:53 +08:00
    @lekai63 #1 貌似 mysql 需要数据库装插件?除了 mssql 还支持哪些库呢?是不是装了插件都可以支持?
    lekai63
        3
    lekai63  
       2017-09-10 22:52:13 +08:00 via iPhone
    @qooweds 记得是 excel 打开后 点数据 选项卡 然后看菜单栏左侧。
    不再电脑前,你打开电脑看看就知道支持哪些格式了
    depress
        4
    depress  
       2017-09-10 22:58:59 +08:00   ❤️ 1
    @qooweds #2 EXCEL 操作数据库依赖 ODBC,ODBC 是系统级配置,和 EXCEL 无关,在 WIN 系统里配置 ODBC,各种数据库都支持。
    ethanlu
        5
    ethanlu  
       2017-09-10 23:15:56 +08:00
    状态是怎么展示的?网页上?我做了一个差不多的,左边表的单号在右边的网页查询,网页要跳转两次才能出现结果,跳转过程中要正则提取两段参数拼接才得到正确的跳转地址,然后要比对两边的订单状态和录入日期,因为获取日期的页面位置要根据状态来确定,所以除了 VBA 还用了一些网页前端的知识。
    Ender233
        6
    Ender233  
    OP
       2017-09-11 03:31:00 +08:00
    @ethanlu
    状态查到后写到 excel 里.
    感觉你说做的和我的需求比较匹配, 不过我不太理解为什么需要前端的知识(我不懂).
    按我理解,比如我想在网站上抓个东西,先登录进去, 然后把整个 html 返回来 我后台自己把需要的字段(状态)解析回来.
    然后这部分活儿我现在不太清楚是谁来干怎么干比较合适.

    我的理解对么. 按照这个套路我是不是可以 VBA+python(解析 http 返回)搞定?
    Ender233
        7
    Ender233  
    OP
       2017-09-11 03:31:54 +08:00
    @lekai63 多谢,不过不是和数据库交互 是和 http 交互. 数据是在 web 上查的.
    ethanlu
        8
    ethanlu  
       2017-09-11 08:47:38 +08:00 via Android   ❤️ 1
    @Ender233 如果只是网页里面的某一栏数据,可以直接通过标签去获取值再赋给 excel 单元格就好了,不需要整个网页拉下来。
    Ender233
        9
    Ender233  
    OP
       2017-09-11 12:18:25 +08:00
    @ethanlu 感谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3082 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:49 · PVG 18:49 · LAX 02:49 · JFK 05:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.