问题标签 [xlwings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 通过excel运行时xlwings不会在file.xlsm中写入数据
我正在尝试使用 xlwings 从几个 xls 文件中进行简单的合并。为此,我有一个 all_files.xlsm 文件,其中包含一个分配有宏的按钮。宏看起来像:
在同一个文件夹中,我有一个文件 python_code.py,里面有函数“consolidation”。我还使用 Workbook.set_mock_caller() 以便有机会通过 python 接口运行代码。看起来像:
问题是,当我通过 excel 文件中的按钮运行脚本时,最后两个字符串(string1 和 string2)- Range('A1').table.clear_contents() 和 Range('A1').value = data doesn'不工作。尽管其余代码工作正常(但是,它也包含 xlwing)。此外,如果我使用 set mock caller 通过 python 接口运行脚本,它工作得很好,包括 string1 和 string2(在代码中标记)。
非常感谢任何帮助和建议!
python - 使用 XLwings 将变量从 Excel 传递到 Python
我正在尝试在 Python 中编写一个简单的用户定义函数,我将值传递给 from Excel
via Xlwings
。我遇到了一些带有加载项的示例,您需要导入用户定义的函数,但这似乎过于复杂。
为什么我的示例不起作用?
VBA:
蟒蛇(Test.py
):
错误:
xlwings - ImportPythonUDFS 引发运行时错误“53”(xlwings 0.6.1)
我的计算机(Windows 7 Professional,64 位)上安装了 Anaconda2(32 位),并且我使用的是 Microsoft Excel 2010(32 位)。我以前用过 ExcelPython,效果很好。然后我将所有内容更新为 xlwings 0.6.1 并删除了 ExcelPython,因为 xlwings 和 ExcelPython 合并了。
我将必要的 xlwings.bas 文件作为模块添加到 VBA。当我按下 Alt+F8 按钮时,会弹出“宏”弹出窗口,“ImportPythonUDFs”宏会出现在列表中。但是,当我按下“运行”按钮时,它会抛出“运行时错误'53'”错误,说“找不到文件:xlwings32.dll”。
谁能帮我弄清楚如何解决这个错误?
python - 尝试获取 .py 文件时出现 UDF 错误
我已按照此处的说明进行操作,一切都很顺利,直到Import Python UDFs
出现以下错误时才单击:
运行时错误“1004”:无法运行宏“xlwings-test.xlsm!ImportPythonUDFs”。该工作簿中的宏可能不可用,或者所有宏都可能被禁用。
当然Trust access to the VBA project object model
,我应该启用了。此外,当我输入时,ALT+F11
我看到 xlwings.xlam 已加载。
Excel 版本:15.0.4779.1001 64 位,xlwings 版本 0.6.2,Win 8.1。
python - 使用 xlwings 将整张纸放入熊猫数据框
感谢 panda,我们可以使用“read_excel”函数将整张工作表读入数据框中。
我想使用 xlwings 使用相同的方法。事实上,我的 Workbook 已经打开了,我不想使用 read_excel 函数(顺便说一下,witch 会花很长时间才能执行),而是使用 xlwings 的强大功能将整个工作表保存到数据框中。
事实上,使用 xlwings 我们可以将范围保存到数据框中。这意味着我必须知道范围大小。但我想有一种更好(更快!)的方法来做到这一点,不是吗?
你有什么想法吗?非常感谢 !
编辑:一张表的一个例子我想像 read_excel 那样转移到一个数据框中。
python - 使用 xlwings 从 Python 将数组传递给 excel 单个单元格
是否可以使用 xlwings 将 python 中的数组传递到 excel 中的单个单元格中?当我尝试将 numpy 数组作为 Range.value 传递时,excel 会创建一个水平范围,每个值都在自己的行中。我的代码与此类似:
我试图避免使用 VBA,但怀疑我可能别无选择。
谢谢
xlwings - `xlwings` 是否适用于 Excel 64 位和 Python 2.7 64 位?
xlwings
可以在 Windows 上使用 Excel 64 位和 Python 2.7 64 位吗?我在官方网站上找不到这方面的任何信息。
python - 从 VBA 运行时 xlwings 不会“get_selection”
我写这篇文章时不确定它是否是确切的问题。我尝试用 Spyder 调试问题,以更确定无济于事。
问题是我的脚本在使用该Workbook.set_mock_caller(path)
选项时从 Spyder 中的解释器运行良好,但在 VBA 中运行不佳。
我怀疑这get_selection()
是一个空的选择,但是我不能确定,因为我无法在中间停止代码。
无论如何,我的脚本是我第一次尝试使用该软件包,因此对于以前使用过它的任何人来说都不会很复杂。该函数的作用是将 Excel 选择表按其第一列合并,并将其余列加在一起。
错误发生在sorted
函数中,它显示以下内容:
从 VBA 调用函数时,我确实做出了选择。
作为一个附加问题,我想知道从 VBA 运行时是否可以调试代码。这将帮助我解决它。
谢谢您的帮助
python - xlwings 如何在 Excel 中从 PERSONAL.XLS 调用宏?
我指的是包含xlwings
功能的宏。我确实知道如何调用宏,但我在将它们与 package.json 集成时遇到了麻烦xlwings
。请允许我解释一下。
我xlwings
在 PERSONAL.XLSB 中包含了模板代码,因此我可以调用该包。
第一个挑战是调整 PYTHONPATH 以找到Python Scripts
文件夹并读取相应的模块。我是从 Visual Basic 的 PERSONAL.XLSB 中完成的。
在几次尝试调试我的宏之后,我开始假设从不同的电子表格运行宏不会捕获我想要的工作簿。那是xlwings.Workbook.caller()
在我的宏内部,PERSONAL.XLSB
而不是我的实际工作簿。
有没有办法让我将工作簿参数从我的电子表格传递给 PERSONAL.XLSB,然后传递给我的xlwings
宏?
我认为这将解决我的问题。谢谢。