美文网首页python
Excel自动化处理相关知识

Excel自动化处理相关知识

作者: 小陈工 | 来源:发表于2022-07-07 11:03 被阅读0次

    一、读取excel表格的数据——xlrd

    1.1 安装

    可使用pycharm搜索xlrd安装,也可在virtualenv中执行以下操作: pip install xlrd

    1.2 使用方法

    import xlrd

    #读取目标excel表

    xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx')

    #读取excel表中第一个工作簿

    table = xlsx.sheet_by_index(0)

    #读取第一行,第一列的数据

    print(table.cell_value(0, 0))

    # 获取所有sheet名字:xlsx.sheet_names()

    # 获取sheet数量:xlsx.nsheets

    二、将数据写入excel表——xlwt

    2.1 安装

    可使用pycharm搜索xlwt安装,也可在virtualenv中执行以下操作: pip install xlwt

    2.2 使用方法

    import xlwt

    #创建一个excel表对象

    new_workbook = xlwt.Workbook()

    #在excel表中创建一个新的工作簿

    worksheet = new_workbook.add_sheet('new_test')

    #在工作簿中的第一行第一列写入内容

    worksheet.write(0, 0, 'test')

    #将excel表保存到本地

    new_workbook.save('d:/test.xls')

    三、实战案例一

    3.1 需求:逐行读取旧表的内容,将其写入到新表中

    3.2 代码实现:

    import xlrd,xlsxwriter

    #读取旧表

    xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx')

    #创建新表

    new_workbook = xlsxwriter.Workbook('d:/test.xlsx')

    #创建新工作簿

    worksheet = new_workbook.add_worksheet()

    #读取旧表的第一个工作簿

    table = xlsx.sheet_by_index(0)

    #遍历,将读取到的数据写入到新表

    for i in range(0,table.nrows):

        for j in range(0,table.ncols):

            worksheet.write(i, j, table.cell_value(i, j))

    new_workbook.close()

    四、工具类xlutils和写入数据的样式

    4.1 复制模板

    from xlutils.copy import copy

    tem_excel = xlrd.open_workbook('D:/日统计.xls', formatting_info=True)

    tem_sheet = tem_excel.sheet_by_index(0)

    #将旧表的样式复制到新表中

    new_excel = copy(tem_excel)

    new_sheet = new_excel.get_sheet(0)

    4.2 设置写入数据的样式

    style = xlwt.XFStyle()

    #设置字体

    font = xlwt.Font()

    font.name = '微软雅黑'

    font.bold = True

    font.height = 360

    style.font = font

    #设置边框为细边框

    borders = xlwt.Borders()

    borders.top = xlwt.Borders.THIN

    borders.bottom = xlwt.Borders.THIN

    borders.left = xlwt.Borders.THIN

    borders.right = xlwt.Borders.THIN

    style.borders = borders

    #设置对齐格式为居中对齐

    alignment = xlwt.Alignment()

    alignment.horz = xlwt.Alignment.HORZ_CENTER

    alignment.vert = xlwt.Alignment.VERT_CENTER

    style.alignment = alignment

    #以指定的格式写入数据

    new_sheet.write(2, 1, 12, style)

    new_sheet.write(3, 1, 18, style)

    new_sheet.write(4, 1, 19, style)

    new_sheet.write(5, 1, 15, style)

    #保存

    new_excel.save('D:/填写.xls')

    相关文章

      网友评论

        本文标题:Excel自动化处理相关知识

        本文链接:https://www.haomeiwen.com/subject/mezubrtx.html