查询Excel表格并返回结果?用哪个程序?

0 投票
1 回答
8454 浏览
提问于 2025-04-17 20:49

我现在工作的公司最近让技术负责人整理一个电子表格,里面要列出每台电脑的名称,以及使用这台电脑的人的名字。这样,帮助台的工作人员在接到用户电话时,可以快速找到用户的名字,从而找到对应的电脑编号。

不过,我觉得这样做有点麻烦。我们大约有1000个用户,所以这个电子表格会让人觉得很烦。我想,做一个简单的程序可能更好,程序可以问你用户的名字,你输入后,它就能返回电脑编号。

我想这个程序可以参考这个电子表格,然后返回你的信息。当然,它不一定非得参考这个电子表格,也可以参考其他东西。

我只会用Python,还是因为我在大学上过一门入门课。不过,我在想用批处理文件会不会更好?或者有没有其他更好的选择?我把这个当作一个学习的机会,也想给我们的帮助台提供一个实用的工具,所以想请教一下大家的意见。:)

谢谢!

1 个回答

1

如果你打算用Python来处理Excel,有两种最常见的方法(还有其他方法,但这两种是最常用的):

  1. 使用Windows API,这样你可以通过Python运行原生的Excel命令。比如:

    from win32com.client import Dispatch
    excel = Dispatch('Excel.Application')
    excel.Visible = True #if you want to see it
    sheet = excel.Workbooks.open('Book1').Sheets('Sheet1')
    # get value from a cell:
    sheet.Cells(1, 1).value
    
    # get range
    sheet.Range('A1:A2000')
    
    # etc. google about vlookup and other functionalities. You can run anything you would in excel through python here, it's just an API
    

    这种方法是最快、最有效的,因为它直接使用Excel的功能,而这些功能都是经过优化的。不过,这种方法不太友好,因为Windows API有点复杂(这是我的个人看法)。

  2. 如果你像我一样,喜欢用Python的方式来做事情,可以使用非常好用的xlrd库,这个库非常简单易用。

    import xlrd
    book = xlrd.open_workbooks('Book1')
    sheet = book.sheet_by_name('Sheet1')
    sheel.col(1)
    

    我就不再深入讲解了,你可以自己去摸索一下,实际上也没那么难。另外,如果你想要写入文件,你还需要一个叫做xlwt的库。

当然,还有第三种选择——把数据传到一个合适的数据库(SQLite就可以),然后用SQL查询来获取数据。如果你觉得速度和效率很重要,这将是最好的选择(SQL就是为了这个目的而创建的,而不是Excel,所以你懂的)。

祝你好运!

撰写回答