zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    A1091. Acute Stroke
    A1103. Integer Factorization
    A1097. Deduplication on a Linked List
    A1074. Reversing Linked List
    设计模式之装饰模式
    基于UML的需求分析和系统设计
    软件测试开篇
    当抽象类遇到单例模式
    设计模式开篇
    此刻开始,点滴积累
  • 原文地址:https://www.cnblogs.com/piperck/p/6363256.html
Copyright © 2011-2022 走看看