xlwings 使用手册

Posted Mr丨Deer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xlwings 使用手册相关的知识,希望对你有一定的参考价值。

xlwings 使用手册. xlwings模块主要是对excel文件的操作.本文档内容大致包含案例参考、api查询以及属性参数查看等.

前言

本人目前也在学习中,仍有不足或考虑不全面的地方.如若发现文档内容存在错误请联系我更改.谢谢!

pip国内源

清华大学 :https://pypi.tuna.tsinghua.edu.cn/simple/

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科学技术大学 :http://pypi.mirrors.ustc.edu.cn/simple/

华中科技大学:http://pypi.hustunique.com/

豆瓣源:http://pypi.douban.com/simple/

腾讯源:http://mirrors.cloud.tencent.com/pypi/simple

华为镜像源:https://repo.huaweicloud.com/repository/pypi/simple/

案例

# 安装xlwings模块
pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 导入依赖
import xlwings as xw

# 创建excel程序实例
with xw.App(visible=False, add_book=False) as app:
    \'\'\'visible是否可见,add_book是否新建工作簿\'\'\'
    wb = app.books(r\'路径/文件名.xlsx\')  # type: xw.Book
    \'\'\'# type: xw.Book 告知pycharm软件wb的类型,这样才会有代码提示\'\'\'
    sht = wb.sheets(1)	# sheets(1)是工作表的索引,从1开始.
    # sht = wb.sheets["sheet1"]  也可以索引工作表的名字
    ranges = sht.range("a1").value	# 获取单元格A1的值.

未完.更新中...

使用 Python 3 的 xlwings 问题

【中文标题】使用 Python 3 的 xlwings 问题【英文标题】:xlwings issue using Python 3 【发布时间】:2016-05-04 21:03:45 【问题描述】:

我正在制作一个类似于数据库的 python 3 程序,它将tkinter 条目保存到一个 excel 文件中。我真的很喜欢使用xlwings,所以请使用xlwings 找到解决方案。无论如何,这是问题:

from tkinter import *
import xlwings as xw    
def save() :
    entrylist = [entry1.get(), entry2.get(), entry3.get(), entry4.get(), entry5.get(), 
    entry6.get(), entry7.get(), entry8.get(), entry9.get()]

        if len(entrylist[i]) != 0 and entry2.get() == entry3.get():
            teller = int(xw.Range('M1').value) + 1

            for i in range(0,3):
                rowlist = ["A"+ str(teller), "B"+ str(teller), "C"+str(teller), "D"+str(teller)]
                rowcode = "\'"+ rowlist[i] + "\'"
                xw.Range(rowcode).value = entrylist[i]

        xw.Range('M1').value = teller
        wb.save('klantendatabase.xlsx')

现在的问题是下面这段代码是不允许的:

xw.Range(rowcode).value = entrylist[i]

仅允许这样(A1 是 excel 文件中的示例单元格编号)::

xw.Range('A1').value = entrylist[i]

有没有办法让xw.Range().value 接受一个变量?

【问题讨论】:

【参考方案1】:

确保将您的服务设置为在 https 设置而不是 http 上运行。通常端口 8080 是最可靠的安全性。之后以调试模式运行您的代码并从您的源代码运行数据库差异。这应该处理所有日志消息。

【讨论】:

对不起,我不是这个意思。【参考方案2】:

您不需要用引号将rowcode 括起来,它们已经是字符串。这有效:

import xlwings as xw

wb = xw.Workbook()
rowcode = 'A1'
xw.Range(rowcode).value = 'some value'

虽然在您的情况下使用这样的索引可能更容易:xw.Range((i,j)).value

【讨论】:

以上是关于xlwings 使用手册的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 3 的 xlwings 问题

模块“xlwings”没有属性“书”

xlwings 激活变量工作表名称

使用 XLWINGS 打开工作簿而不使其可见

使用 xlwings 快速写入 xlsm

xlwings (python) - 如何激活工作表?