python-寫入excel(xlswriter)


一、安裝XlsxWriter模塊
pip install XlsxWriter
二、常用方法

import xlsxwriter
import datetime
workbook = xlsxwriter.Workbook("new_excel.xlsx")   #創建Excel
worksheet = workbook.add_worksheet("first_sheet")  #添加sheet
#寫入文本
# 法一:
worksheet.write('A1', 'write something,this is A1')
# 法二:
worksheet.write(1, 0, 'hello A2')
# 寫入數字
worksheet.write(0, 1, 32)    #B1 = 32
worksheet.write(1, 1, 32.3)  #B2 = 32.3
#寫入函數
worksheet.write(2, 1, '=sum(B1:B2)')  #B3 = 64.3
# 插入圖片
worksheet.insert_image(0, 5, '2.jpeg')
# worksheet.insert_image(0, 5, 'test.png', {'url': 'http://httpbin.org/'})
# 寫入日期
d = workbook.add_format({'num_format': 'yyyy-mm-dd'})
worksheet.write(0, 2, datetime.datetime.strptime('2019-12-17', '%Y-%m-%d'), d)   #C1
# 設置行屬性,行高設置為40
worksheet.set_row(0, 40)
# 設置列屬性,把A到B列寬設置為20
worksheet.set_column('A:B', 20)
# 自定義格式
f = workbook.add_format({'border': 1, 'font_size': 13, 'bold': True, 'align': 'center','bg_color': 'cccccc'})
worksheet.write('A3', "python excel", f)
worksheet.set_row(0, 40, f)
worksheet.set_column('A:E', 20, f)
# 批量往單元格寫入數據
worksheet.write_column('A15', [1, 2, 3, 4, 5])  # 列寫入,從A15開始
worksheet.write_row('A12', [6, 7, 8, 9])        # 行寫入,從A12開始
# 合並單元格寫入
worksheet.merge_range(7,5, 11, 8, 'merge_range')
#關閉文件
workbook.close()

xlsxwriter模塊寫入格式

write_boolean    寫boolean值
write_datetime   寫日期
write_number    寫數字
write_string       寫字符串
write_blank        空
write_url            寫連接
write_formula    寫公式
insert_image     插入圖片
merge_range    合並單元格寫入

xlsxwrite單元格格式:add_format

color:red                       字體顏色
bold:True                      字體加粗
font_site:12                   字體大小
num_format:yy-mm-dd  日期格式
url:www.baidu.com         超鏈接
underline:True              下划線設置
bg_color:red                 單元格顏色
邊框:border
對齊方式:align

# 導入模塊
import xlsxwriter
# 打開student.xlsx文件
workbook = xlsxwriter.Workbook("student.xlsx")
# 創建一張工作表
worksheet = workbook.add_worksheet()
# 設置第一行信息
worksheet.write(0, 0, "學號")
worksheet.write(0, 1, "姓名")
worksheet.write(0, 2, "年齡")

# 學生信息列表
student_list = [{"name": "小明", "age": 20, "no": "20170901001"},
                {"name": "小紅", "age": 21, "no": "20170901002"},
                {"name": "小剛", "age": 20, "no": "20170901003"},
                {"name": "小海", "age": 23, "no": "20170901004"},
                {"name": "小陽", "age": 25, "no": "20170901005"}]

# 遍歷列表
for i, info in enumerate(student_list):
    # 寫入數據
    # write(第x行, 第x列, 寫入的數據)
    worksheet.write(i + 1, 0, info["no"])
    worksheet.write(i + 1, 1, info["name"])
    worksheet.write(i + 1, 2, info["age"])

# 關閉文件
workbook.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM