如何使用 xlsxwriter 在 excel sheet 中自定义按钮的操作

How to customize the action of a button in excel sheet using xlsxwriter

我想使用 xlsxwriter 来控制我的 excel sheet,而不是使用老式的方式 VBA。我需要一个按钮来触发一些动作。我从官方文档中看到的是

workbook.add_vba_project('./vbaProject.bin')
worksheet.insert_button('B3', {'macro':   'say_hello',
                               'caption': 'Press Me'})

我不知道如何将自己的函数定义为宏,也不知道如何生成“vbaProject.bin”。有没有办法像python函数那样写一个宏,直接赋值给按钮?

如果我必须在 vbaProject.bin 中包含宏,我该怎么做?希望它不是像 vba.

这样的东西

所以你有很多方法来控制和自动化你的文件:

  1. 您可以使用vba

  2. 您可以使用使用 python 语法的 xlsxwriter

  3. 您可以使用名为 PyXLL https://www.pyxll.com/docs/userguide/macros.html 的库。看来您可以使用 python 语法编写宏,但我还没有尝试过,您可以看看它可能是您正在寻找的内容。

关于如何使用 xlsxwriter 向 excel 注入宏的问题请看我的回答,我认为它非常详细:

Add dataframe and button to same sheet with XlsxWriter

对了vba不难学,网上也有很多资料。如果你不想手动编写代码,你可以通过按记录来记录宏,做你的事并停止记录。然后您将获得可以将其注入文件的代码(请查看我上面的教程)