请看我另一篇生成Excel的文章(推荐)

xlwt

这是一个供开发人员用来生成与Microsoft Excel 95到2003版兼容的电子表格文件的库。

包本身是纯Python,不依赖于标准Python发行版之外的模块或包。

安装

pip install xlwt

文档

示例

import xlwt

import sys

ezxf = xlwt.easyxf

# 生成excel文件

# data:数据

# encoding:编码

# sheet:工作表名称

# path:保存路径

# filename:文件名

# protect:是否开启保护

# password:保护密码

def save_excel(data, encoding, sheet, path, filename, protect, password):

try:

# 创建一个workbook 设置编码

workbook = xlwt.Workbook(encoding=encoding)

# 创建一个worksheet

worksheet = workbook.add_sheet(sheet)

worksheet.protect = protect # 設置保護

worksheet.password = password # 設置密碼

# 可编辑,horz center:水平居中,vert center:垂直居中,还可以在这里设置其他样式,颜色,边框等

editable = ezxf("protection: cell_locked false;align: horz center,vert center;")

# 不可編輯,horz center:水平居中,vert center:垂直居中,还可以在这里设置其他样式,颜色,边框等

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

# 参数对应 行, 列, 值

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")

编辑受保护的单元格

受保护的单元格

编辑不受保护的单元格

不受保护的单元格

python中xlwt的局限,Python xlwt 生成Excel和设置特定单元格不可编辑相关推荐

  1. java使用poi生成Excel文件并合并单元格

    java使用poi生成Excel文件并合并单元格        业务需要根据 分管部门 字段进行合并,现在提供一种思路. controller层 @Inject(target = "/inf ...

  2. 前锋python百度云_关于python:使用索引在pandas DataFrame中设置特定单元格的值

    我创建了一个熊猫数据框架 df = DataFrame(index=['A','B','C'], columns=['x','y']) 得到了这个 x    y A  NaN  NaN B  NaN ...

  3. java 导出excel换行_java WriteExcelFile生成excel如何让在一个单元格内换行?

    展开全部 使用\r\n试试. Java是一门面向对象编程语言,不仅吸收了62616964757a686964616fe59b9ee7ad9431333365633935C++语言的各种优点,还摒弃了C ...

  4. python中xlrd写操作_Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  5. python中readlines函数用法,python中read() readline()以及readlines()用法

    我们谈到"文本处理"时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read(). ...

  6. python中八进制_在Python中以八进制格式输入数字

    python中八进制 Syntax to convert octal value to an integer (decimal format), 将八进制值转换为整数(十进制格式)的语法, int(o ...

  7. python xlrd安装_详解python中xlrd包的安装与处理Excel表格

    一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...

  8. python读取枚举_在python中枚举(enumerate in python)

    在python中枚举(enumerate in python) 说, term='asdf'; InvertedIndex = {}; InvertedIndex[term] = [1,2,2,2,4 ...

  9. python 中^是什么意思,python 中%是什么意思

    python中^是什么意思 在Python" // "表示整数除法.Python其它表达式:Python的表达式写法与C/C++类似.只是在某些写法有所差别.主要的算术运算符与C/ ...

最新文章

  1. DeepSpeed超大规模模型训练工具
  2. asp自动解析网页中的图片地址,并将其保存到本地服务器
  3. Keepalived+Nginx 实现双机热备
  4. JavaScript实现CountingSort计数排序算法(附完整源码)
  5. java 数组中差值最大数对,[算法题] 求数组有序后相邻元素之间的最大差值
  6. copy-maven-plugin - where is it configured - Maven原理探究
  7. 什么是Microsoft Teams的App Studio
  8. mysql防止数据查找不到_为了防止数据库崩溃使数据丢失的解决方案
  9. Arcgis创建SDE_Geometry、SDO_Geometry的区别
  10. hive-04-Hive函数大全
  11. 缓存穿透、缓存雪崩、缓存击穿的原因及解决方案
  12. Post传值时间特殊字符处理比如 p/p当作参数传递到后台
  13. 机器学习在微博信息流推荐中的应用实践
  14. 【计算机网络】第九章:应用层
  15. java计算机毕业设计糖果销售管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  16. 搞 Java 的年薪 40W 是什么水平?
  17. 如何在CentOS 7系统搭建企业常用的远程yum仓库,详细教学!
  18. Vulkan_SSAO—屏幕空间环境光遮蔽
  19. 医学主题词表(Medical Subject Headings, MeSH)
  20. 进北京软通动力的经历

热门文章

  1. 在soa工程中使用dubbo的步骤
  2. centos 7.9密码改密钥登陆
  3. JAVA中Final的用法
  4. linux菜鸟入门-1
  5. LeetCode刷题知识总结
  6. 平衡二叉排序树(完整案例详解及完整C代码实现)
  7. 5.1 计算机网络之传输层(传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务)
  8. 3.1 《数据库系统概论》SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)
  9. mysql8.0.20忘记密码_mysql8.0.19忘记密码的完美解决方法
  10. idea开发swing项目_IntelliJ IDEA 开发swing(一)