• 使用python库xlsxwriter库来输出各种xlsx文件


    功能性的文章直接用几个最简单的实现表达:

    xlsxwriter库的核心就是其Workbook对象。 

    创建一个指定名字的xlsx文件:

    import xlsxwriter
    
    filename = '/Users/piperck/Desktop/axiba.xlsx'
    test_book = xlsxwriter.Workbook(filename)
    worksheet = test_book.add_worksheet()
    test_book.close()

    创建一个Workbook的实例对象。可以传入一个文件名字,如果不想生成的文件在当前路径下面,可以在文件名字前面带上绝对路径。

    add_worksheet()就是增加一个sheet

    然后关闭这个对象,完成xlsx文件的生成。

    创建一个指定名字的sheet并且为其添加一些数据:

    import xlsxwriter
    
    filename = '/Users/piperck/Desktop/axiba.xlsx'
    test_book = xlsxwriter.Workbook(filename)
    worksheet = test_book.add_worksheet('what')
    
    expenses = (
        ['Rent', 1000],
        ['Gas',   100],
        ['Food',  300],
        ['Gym',    50],
    )
    
    # 定义起始的行列 会在这个基础上 行列各加一 作为初始行列
    row = 0
    col = 0
    
    for item, cost in expenses:
        worksheet.write(row, col, item)
        worksheet.write(row, col+1, cost)
        row += 1
    
    worksheet.write(row, col, '=sum(B0:B4)') test_book.close()

    我们可以使用得到的worksheet对象来添加其行列数据,如上所示。注意最后添加数据可以直接在第三个参数里面使用函数。

    创建一个有指定样式的Workbook:

    这个方法其实。。应该有非常多的参数,大家根据实际需要可以具体去查询更多的属性。这个样式要在Workbook的对象上加。

    import xlsxwriter
    
    filename = '/Users/piperck/Desktop/axiba.xlsx'
    test_book = xlsxwriter.Workbook(filename)
    worksheet = test_book.add_worksheet('what')
    bold = test_book.add_format({'bold': True})
    
    test_book.add_format()
    expenses = (
        ['Rent', 1000],
        ['Gas',   100],
        ['Food',  300],
        ['Gym',    50],
    )
    
    # 定义起始的行列 会在这个基础上 行列各加一 作为初始行列
    row = 0
    col = 0
    
    for item, cost in expenses:
        worksheet.write(row, col, item, bold)
        worksheet.write(row, col+1, cost)
        row += 1
    
    test_book.close()

    关于更多的参数,完全可以参看源代码里面的property字典下面初始化的那一堆东西,应该都是。

    根绝着就能解决大部分问题了,如果有更多的需求就查阅下面的文档即可。

    通用做法可能会基于此再做一些东西来包装 xlsxwriter 来让他更好用,这个就看大家对自己业务需要抽象的能力了。

    Reference:

    https://xlsxwriter.readthedocs.io  xlsxwriter doc

  • 相关阅读:
    HTML学习笔记之二(回到顶部 与 回究竟部)
    初次使用cocoapods注意事项
    struts2在web.xml中配置详情
    hdu 3631 Shortest Path(Floyd)
    bullet HashMap 内存紧密的哈希表
    论文摘抄
    oracle中从指定日期中获取月份或者部分数据
    漫谈机器学习经典算法—特征提取与特征选择
    为什么NULL能多次free
    栈的效率为什么比堆高?
  • 原文地址:https://www.cnblogs.com/piperck/p/6363256.html
Copyright © 2020-2023  润新知