Python 寫入Excel文件(后綴名分別為.xlsx和.xls)


1、寫入xls文件

①下載依賴庫 xlwt

python -m pip install xlwt  

②普通寫入

# encoding=utf-8
# 下載 python -m pip install xlwt
import xlwt

if __name__ == '__main__':
    book = xlwt.Workbook()  # 創建一個新的工作簿
    sheet = book.add_sheet('工作表')  # 添加一個工作表
    sheet.write(0, 0, '嘻嘻')  # 寫入數據到幾行幾列
    sheet.write(0, 1, '哈哈')  # 寫入數據到幾行幾列
    sheet.write(0, 2, '嘿嘿')  # 寫入數據到幾行幾列
    sheet.write(1, 0, '南風')  # 寫入數據到幾行幾列
    sheet.write(2, 0, '輕語')  # 寫入數據到幾行幾列
    sheet.write(3, 0, '鼓樓')  # 寫入數據到幾行幾列
    book.save('工作簿.xls')  # 保存工作薄, 如果保存后綴名為 .xlsx 則在 Microsoft Excel 可能會報錯

運行結果

 

提示:

正常應該保存后綴名為.xls,因為xlwt就是以xls的格式寫文件的。

如果保存的后綴名為.xlsx,則在WPS中可以正常打開,因為WPS兼容性好,而在Microsoft Excel中會報以下錯誤

 ③設置單元格格式

# -*- encoding=utf-8 -*-

import xlwt

if __name__ == '__main__':
    book = xlwt.Workbook()  # 創建工作薄
    sheet = book.add_sheet('工作表')  # 添加工作表
    sheet.write(0, 0, '不設置樣式')  # 寫入數據

    align = xlwt.Alignment()
    align.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中
    align.vert = xlwt.Alignment.VERT_CENTER  # 垂直居中

    font = xlwt.Font()  # 字體基本設置
    font.name = u'新宋體'
    font.colour_index = 32764  # 字體顏色
    font.height = 160  # 字體大小

    borders = xlwt.Borders()
    borders.left = xlwt.Borders.THIN  # 添加邊框,細實線
    borders.right = xlwt.Borders.THIN  # 添加邊框,細實線
    borders.top = xlwt.Borders.THIN  # 添加邊框,細實線
    borders.bottom = xlwt.Borders.THIN  # 添加邊框,細實線

    sheet.col(3).width = 12 * 256  # 設置列寬,一個中文等於兩個英文等於兩個字符,12為字符數,256為衡量單位

    pattern = xlwt.Pattern()
    pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # 設置背景顏色的模式
    pattern.pattern_fore_colour = 2  # 背景顏色

    style = xlwt.XFStyle()  # 設置樣式
    style.font = font  # 字體樣式
    style.alignment = align  # 排列樣式
    style.borders = borders  # 邊框樣式
    style.pattern = pattern  # 背景

    sheet.write(3, 3, '設置單元格格式', style)

    book.save('style.xls')

運行結果

 xls單元格格式學習鏈接: https://blog.csdn.net/weixin_44065501/article/details/88899257

④合並單元

# -*- encoding=utf-8 -*-
import xlwt

if __name__ == '__main__':
    workbook = xlwt.Workbook()  # 創建工作薄
    sheet1 = workbook.add_sheet('工作表')  # 創建工作表
    sheet1.write_merge(0, 0, 0, 1, '合並單元格')  # 合並從0行到0行,從0列到1列
    sheet1.write_merge(2, 4, 0, 3, '合並單元格')  # 合並從2行到4行,從0列到3列
    workbook.save('merge.xls')

運行結果

二、寫入xlsx文件

①下載依賴庫

python -m pip install openpyxl

②普通寫入

# encoding=utf-8
import openpyxl

if __name__ == '__main__':

    book = openpyxl.Workbook()  # 創建空白工作薄
    sheet = book.active  # 獲取當前默認工作表
    sheet.name = '工作表'  # 修改工作表名稱
    sheet.cell(1, 1, '數據')  # 幾行幾列寫入數據
    sheet.cell(1, 2, '數據')  # 幾行幾列寫入數據
    sheet.cell(1, 3, '數據')  # 幾行幾列寫入數據
    sheet.cell(1, 4, '數據')  # 幾行幾列寫入數據
    sheet.cell(2, 1, '數據')  # 幾行幾列寫入數據
    sheet.cell(3, 2, '數據')  # 幾行幾列寫入數據
    sheet.cell(4, 3, '數據')  # 幾行幾列寫入數據
    sheet.cell(5, 4, '數據')  # 幾行幾列寫入數據

    data = [['數據1', '數據2', '數據3'], ['數據1', '數據2', '數據3'], ['數據1', '數據2', '數據3']]
    for one in data:
        sheet.append(one)  # 寫入一行
    book.save('普通寫入.xlsx')  # 保存為 xlsx 格式文件 如果保存為xls, 則 Microsoft Excel 可能會報警告

運行結果

 提示:

正常應該保存后綴名為.xlsx,因為openpyxl就是以xlsx格式寫文件的。

如果保存的后綴名為.xls,則在WPS中可以正常打開,因為WPS兼容性好,而在Microsoft Excel中會報以下警告

 ③設置單元格格式

# encoding=utf-8
import openpyxl
from openpyxl.styles import *
from openpyxl.styles.colors import COLOR_INDEX

if __name__ == '__main__':

    book = openpyxl.Workbook()  # 創建空白工作薄
    sheet = book.active  # 獲取當前默認工作表
    sheet.name = '工作表'  # 修改工作表名稱
    sheet.cell(1, 1, '數據', )  # 幾行幾列寫入數據
    cell = sheet.cell(1, 1)
    cell.font = Font(color=Color(rgb=COLOR_INDEX[2]))

    book.save('顏色.xlsx')  # 保存為 xlsx 格式文件 如果保存為xls, 則 Microsoft Excel 可能會報警告

更詳細的xlsx格式學習鏈接 https://www.py.cn/jishu/jichu/20317.html

文檔鏈接 https://www.osgeo.cn/openpyxl/styles.html


免責聲明!

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



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