xlsxwriter python写excel

官方文档:xlsxwriter 官方文档html

微博只对经常使用的方法作了总结和coding,详细方法请参考官方文档excel

常规写入数据:code

  1. 写入字符串write_string() 
import xlsxwriter

workbook = xlsxwriter.Workbook("file_name")
worksheet = workbook.add_worksheet("sheet_name")
worksheet.write_string(row, col, 'Your text here')  # 把excel看为坐标,row第几行, col第几列
worksheet.write_string('A2', 'or here')  # A2为excel对应的位置
workbook.close()

 

  • 写入数字  write_number
import xlsxwriter

workbook = xlsxwriter.Workbook("file_name.xls")
worksheet = workbook.add_worksheet("sheet_name")
worksheet.write_number(4, 5, 2.02)  # 把excel看为坐标,row第几行, col第几列
worksheet.write_number('A2', 10)  # A2为excel对应的位置
workbook.close()
  • 合并单元格写入 merge_range
import xlsxwriter

if __name__ == "__main__":
    workbook = xlsxwriter.Workbook("file_name.xls")
    worksheet = workbook.add_worksheet("sheet_name")
    worksheet.merge_range(2, 1, 3, 3, 'Merged Cells')  # 2,1 表示excel的B3    3,3 表示excelD4

    # worksheet.merge_range('B3:D4', 'Merged Cells',)
    workbook.close()
  • 设置单元格大小
import xlsxwriter

if __name__ == "__main__":
    workbook = xlsxwriter.Workbook("file_name.xls")
    worksheet = workbook.add_worksheet("sheet_name")

    worksheet.set_row(0, 60)  # 第一行的高度设为60
    worksheet.set_column(0, 3, 30)  # 从第一列到第二列的宽度设为30
    workbook.close()
  • 插入图片
import xlsxwriter

if __name__ == "__main__":
    workbook = xlsxwriter.Workbook("file_name.xls")
    worksheet = workbook.add_worksheet("sheet_name")
    log_add = 'F:\\baiyang\Python\Code\logo.bmp' # 图片地址
    worksheet.insert_image(0, 0, log_add, options={"x_offset": 20, "y_offset": 0}) # 在某个单元格插入图片,0,0 对应单元格A1, x_offset左右偏移,y_offset上下偏移
    worksheet.insert_image("A2",log_add, options={"x_offset": 20, "y_offset": 0})  # 在某个单元格插入图片,0,0 对应单元格A1,options为设置在单元格内的位置,
    worksheet.set_row(0, 60)  # 第一行的高度设为60
    worksheet.set_column(0, 3, 30)  # 从第一列到第二列的宽度设为30
    workbook.close()
  • 编辑样式
import xlsxwriter

if __name__ == "__main__":
    workbook = xlsxwriter.Workbook("file_name.xls")
    worksheet = workbook.add_worksheet("sheet_name")
    merge_format = workbook.add_format({
        'bold': True,
        'border': 6,
        'align': 'center',
        'valign': 'vcenter',
        'fg_color': '#D7E4BC',
    })

    worksheet.merge_range('B3:D4', 'Merged Cells', merge_format)   # merge_format为定义的样式
    workbook.close()
  • 富文本编辑,一个单元格包含多种样式
import xlsxwriter

if __name__ == "__main__":
    workbook = xlsxwriter.Workbook("file_name.xls")
    worksheet = workbook.add_worksheet("sheet_name")
    merge_format = workbook.add_format({
        'bold': True,
        'border': 6,
        'align': 'center',
        'valign': 'vcenter',
        'fg_color': '#D7E4BC',
    })

    red = workbook.add_format({'color': 'red',
                               "bold": True,
                               "font_name": "微软雅黑"})
    blank = workbook.add_format({"bold": True,
                                 "font_name": "微软雅黑"})
    row = 0 
    col = 0
    string1 = "你好!"  # 第一个样式, 
    string2 = "早安!" # 第二个样式, 一次类推能够写n个样式,后边接着的是该样式的参数
    worksheet.write_rich_string(row, col, blank, string1, red, string2, merge_format)# row,col定位单元格
    workbook.close()
相关文章
相关标签/搜索