缺失的功能¶
如果你在 xlwings 中缺失某项功能,请执行以下操作:
最重要的是,在GitHub上提交问题。添加功能应由用户驱动,因此只有当你告诉我们你缺失什么时,它最终才会被加入到库中。顺便说一下,我们也欢迎 pull requests!
解决方案:本质上,xlwings 只是围绕以下内容的智能包装器pywin32在 Windows 上和appscript在 Mac 上。你可以通过调用
api
属性访问底层对象:>>> sheet = xw.Book().sheets[0] >>> sheet.api # Windows (pywin32) <win32com.gen_py.Microsoft Excel 16.0 Object Library._Worksheet instance at 0x2260624985352> # macOS (appscript) app(pid=2319).workbooks['Workbook1'].worksheets[1]
这种方法同样适用于其他对象,例如
sheet.range('A1').api
等等。底层对象几乎可以为你提供 VBA 能够做的一切,使用 pywin32(感觉很像 VBA)和 appscript(感觉不像 VBA)的语法。但除了看起来不太美观外,记住它会使你的代码平台特定化 (!),即即使你选择第二种方法,仍需遵循第一种方法并提交问题,以便该功能以跨平台和具备 Python 风格的语法进入库。
示例:使用 VBA 的解决方案Range.WrapText
¶
# Windows
sheet['A1'].api.WrapText = True
# Mac
sheet['A1'].api.wrap_text.set(True)