python中xlwt的局限,Python xlwt 生成Excel和设置特定单元格不可编辑
請看我另一篇生成Excel的文章(推薦)
xlwt
這是一個(gè)供開發(fā)人員用來生成與Microsoft Excel 95到2003版兼容的電子表格文件的庫。
包本身是純Python,不依賴于標(biāo)準(zhǔn)Python發(fā)行版之外的模塊或包。
安裝
pip install xlwt
文檔
示例
import xlwt
import sys
ezxf = xlwt.easyxf
# 生成excel文件
# data:數(shù)據(jù)
# encoding:編碼
# sheet:工作表名稱
# path:保存路徑
# filename:文件名
# protect:是否開啟保護(hù)
# password:保護(hù)密碼
def save_excel(data, encoding, sheet, path, filename, protect, password):
try:
# 創(chuàng)建一個(gè)workbook 設(shè)置編碼
workbook = xlwt.Workbook(encoding=encoding)
# 創(chuàng)建一個(gè)worksheet
worksheet = workbook.add_sheet(sheet)
worksheet.protect = protect # 設(shè)置保護(hù)
worksheet.password = password # 設(shè)置密碼
# 可編輯,horz center:水平居中,vert center:垂直居中,還可以在這里設(shè)置其他樣式,顏色,邊框等
editable = ezxf("protection: cell_locked false;align: horz center,vert center;")
# 不可編輯,horz center:水平居中,vert center:垂直居中,還可以在這里設(shè)置其他樣式,顏色,邊框等
read_only = ezxf("protection: cell_locked true;align: horz center,vert center;")
row = 0 # 行
col = 0 # 列
for item in data:
for k, v in item.items():
# 寫入excel
# 參數(shù)對應(yīng) 行, 列, 值
if k == "id" or k == "name" or k == "field_id" or k == "field_name":
worksheet.write(row, col, label=v, style=read_only) # 不可編輯
else:
worksheet.write(row, col, label=v, style=editable) # 可以編輯
col += 1
col = 0
row += 1
# 保存
workbook.save("{path}{filename}".format(path=path, filename=filename))
except Exception as e:
print("[ERROR]: {error}".format(error=e))
else:
print("[SUCCESS]: {path}{filename}".format(path=path, filename=filename))
if __name__ == '__main__':
data = [
{"id": "1", "name": "小明", "field_id": "005", "field_name": "005", "date": "2019-7-20", "morning_to_work": "10:00", "morning_off_work": "13:00", "afternoon_to_work": "14:00",
"afternoon_off_work": "19:00", "to_overtime": "20:00", "off_overtime": "22:00", "overtime_hours": "3"},
{"id": "2", "name": "小紅", "field_id": "006", "field_name": "006", "date": "2019-7-21", "morning_to_work": "10:00", "morning_off_work": "13:00", "afternoon_to_work": "14:00",
"afternoon_off_work": "19:00", "to_overtime": "20:00", "off_overtime": "22:00", "overtime_hours": "3"},
]
save_excel(data=data, encoding="UTF-8", sheet="Sheet1", path="/xxx/xxx/xxx/", filename='xxx.xlsx', protect=True, password="xxx")
編輯受保護(hù)的單元格
受保護(hù)的單元格
編輯不受保護(hù)的單元格
不受保護(hù)的單元格
總結(jié)
以上是生活随笔為你收集整理的python中xlwt的局限,Python xlwt 生成Excel和设置特定单元格不可编辑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于matlab的智能天线波束方向图仿真
- 下一篇: websocket python爬虫_p