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

  • 相关阅读:
    DIV 实现可拖拽 功能(留档)
    JS网站当前日期在IE9、Chrome和FireFox中年份显示为113年的解决方法 getFullYear();
    ASP.Net MVC C#画图 页面调用
    iOS NSDecimalNumber 货币计算 四舍五入
    [日记]寒假发生了什么
    [其他]寒假作业是什么
    [考试总结]近期第一次在下午考的一场考试
    [考试总结]不写部分分下场会很惨的一场考试
    [考试总结]毒瘤题×4的一场考试
    [考试总结]出数据变成做构造题的一场考试
  • 原文地址:https://www.cnblogs.com/piperck/p/6363256.html
Copyright © 2011-2022 走看看