python利用xlwings写入一行或一列Excel数据

from typing import Union

import xlwings as xw


fp = r"C:\Users\user\Desktop\测试.xlsx"
# 打开Excel应用程序
app = xw.App(visible=False)  # 后台写入,不展示excel界面

# 打开Excel文件
wb = xw.Book(fp)

新增sheet

# 新增sheet页时,可选择新增位置,由参数before或after控制
sht = wb.sheets.add('result')

写入行

def write_rows(io, sheet: Union[int, str] = 0, row='A1', data=None):
    """
    写入一行或多行数据
    :param io: Excel文件
    :param sheet: sheet,int或者str类型
    :param row: 从哪一行开始写入,如:'A1'
    :param data: 要写入的数据,str、list或者tuple,e.g. [[1, 9], [2, 8], [3, 7], [4, 6]]
    :return:
    """
    wb = xw.Book(io)
    if isinstance(sheet, str):
        sht = wb.sheets(sheet)
    else:
        sht = wb.sheets[sheet]
    sht.range(row).value = data
    wb.save()

    # 关闭工作簿和Excel应用程序
    wb.close()
    app.quit()

写入多行时,效果如下:

写入列

def write_cols(io, sheet: Union[int, str] = 0, col='A1', data=None):
    """
    写入一列或多列数据
    :param io: Excel文件
    :param sheet: sheet,int或者str类型
    :param col: 哪一列,如:'A1'
    :param data: 要写入的数据,str、list或者tuple,e.g. [[1, 2], [3, 4], [5, 6]]
    :return:
    """
    wb = xw.Book(io)
    if isinstance(sheet, str):
        sht = wb.sheets(sheet)
    else:
        sht = wb.sheets[sheet]
    sht.range(col).options(transpose=True).value = data
    wb.save()

    # 关闭工作簿和Excel应用程序
    wb.close()
    app.quit()

写入多列时,效果如下:

posted @   cnblogs用户  阅读(9842)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示