xlwt以格式生成xls文件
参考: http://blog.sina.com.cn/s/blog_5357c0af01019gjo.html
http://www.programcreek.com/python/example/56293/xlwt.easyxf
import xlrd, xlwt
import re
import os
wbs = {}
SPLIT_NUM = 6
FN = 'yeah.xls'
SN = ''
header_style = xlwt.easyxf('font:bold on, height 280;align: horz center; border: top thin, right thin, bottom thin, left thin;')
header_height = xlwt.easyxf('font:height 500;')
title_style = xlwt.easyxf('font:bold on, height 220;border: top thin, right thin, bottom thin, left thin;')
title_height = xlwt.easyxf('font:height 500;')
cell_style = xlwt.easyxf('font:height 200;border: top thin, right thin, bottom thin, left thin;')
cell_height = xlwt.easyxf('font:height 400;')
CHARW = 650
with xlrd.open_workbook(FN) as book:
if SN:
sht = book.sheet_by_name(SN)
else:
sht = book.sheets()[0]
columns = [e.value for e in sht.row(0)]
for r in range(1, sht.nrows):
row = [e.value for e in sht.row(r)]
name = row[SPLIT_NUM]
sfz = row[1]
xm = row[2]
yh = row[7]
jtdm = row[3]
if name not in wbs:
wb = xlwt.Workbook()
ws = wb.add_sheet(name)
wbs[name] = {'wb':wb, 'ws':ws, 'r':4}
ws.write_merge(0, 0, 0, 4, '领卡签收表清单', header_style)
ws.write_merge(1, 1, 0, 1, '银行网点名称', header_style)
ws.write_merge(1, 1, 2, 4, yh, header_style)
ws.write_merge(2, 2, 0, 1, '集体名称', header_style)
ws.write_merge(2, 2, 2, 4, name, header_style)
ws.write_merge(3, 3, 0, 1, '集体代码', header_style)
ws.write_merge(3, 3, 2, 4, jtdm, header_style)
for r in range(4):
ws.row(r).set_style(header_height)
for col, e in enumerate([
('序号', CHARW*3), ('姓名', CHARW*5),
('身份证号码', CHARW*11),('领卡人联系电话', CHARW*8),
('领卡人签名', CHARW*6)]):
label = e[0]
width = e[1]
ws.write(4, col, label, title_style)
ws.col(col).width = width
ws.row(4).set_style(title_height)
else:
ws = wbs[name]['ws']
wbs[name]['r'] += 1
cr = wbs[name]['r']
ws.write(cr, 0, cr-4, cell_style)
ws.write(cr, 1, xm, cell_style)
ws.write(cr, 2, sfz, cell_style)
ws.write(cr, 3, '', cell_style)
ws.write(cr, 4, '', cell_style)
ws.row(cr).set_style(cell_height)
for k, v in wbs.items():
v['wb'].save(k+'.xls')
print('成功:'+k+'.xls')
xlwt以格式生成xls文件的更多相关文章
- flask使用pymysql连接MySQL,生成xls文件并下载到本地
版本一:将MySQL数据写入到excel(xsl)文件并下载到默认文件夹(一般问电脑的下载文件夹里面),并显示特效到前端页面. flask框架连接MySQL,我们使用pymsql这个工具,如下操作: ...
- protoc格式生成java文件
下载protoc.exe 地址:https://yvioo.lanzoui.com/i12opqs7q9g 下载好之后 ,把protoc文件和exe放在一个文件夹内 用记事本打开protoc,删掉包路 ...
- Python将数据写入excel或者txt,读入csv格式或xls文件,写入csv(写一行空一行解决办法)
1.写入excel,一开始不需要自己新建一个excel,会自动生成 attribute_proba是我写入的对象 import xlwt myexcel = xlwt.Workbook() sheet ...
- php中使用PHPExcel操作excel(xls)文件
读取中文的xls.csv文件会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址:http://phpexcel.codeplex.com/ 1.读取xls文件内容 代码如下 复制代码 ...
- PHP - PHPExcel操作xls文件
读取中文的xls.csv文件会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址:http://phpexcel.codeplex.com/ 1.读取xls文件内容 <?php // ...
- python3:xlrd、xlwt、xlutils处理excel文件
1.xlrd读取excel 请参考上篇博客https://www.cnblogs.com/shapeL/p/9075843.html 2.xlwt生成excel 安装下载:pip install xl ...
- php中使用PHPExcel读写excel(xls)文件的方法
首先从GitHub上下载 excel的相关类库 下载地址:https://github.com/PHPOffice/PHPExcel 以下是从excel中获取数据 <?php /** * * @ ...
- 【POI】使用POI 创建生成XLS,打开xls文件提示【此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数。】
使用POI 创建生成XLS,打开xls文件提示[此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.] 原因: 是因为在POI处理xls的过程中,太多次调用了: HSSFFont fon ...
- python模块介绍- xlwt 创建xls文件(excel)
python模块介绍- xlwt 创建xls文件(excel) 2013-06-24磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 ...
随机推荐
- java制作验证码(java验证码小程序)
手动制作java的验证码 Web应用验证码的组成: (1)输入框 (2)显示验证码的图片 验证码的制作流程: 生成验证码的容器使用 j2ee的servlet 生成图片需要的类: (1) Buffere ...
- Centos常用命令之:VI
在Linux中,对文件内容的编辑莫过去vi命令了,它是每个发布版本中的标配.并且功能强大. 在vi中一共有三种模式,一般模式(命令参照),编辑模式(命令参照)与命令模式(命令参照). ◇一般模式:当我 ...
- [HNOI 2016]大数
Description 题库链接 给你一个长度为 \(n\) ,可含前导零的大数,以及一个质数 \(p\) . \(m\) 次询问,每次询问你一个大数的子区间 \([l,r]\) ,求出子区间中有多少 ...
- [NOI 2011]道路修建
Description 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1条双向道 ...
- 51nod 1514 美妙的序列
Description 长度为n的排列,且满足从中间任意位置划分为两个非空数列后,左边的最大值>右边的最小值.问这样的排列有多少个%998244353 题面 Solution 正难则反 \(f[ ...
- ●洛谷P3688 [ZJOI2017]树状数组
题链: https://www.luogu.org/problemnew/show/P3688题解: 二维线段树. 先不看询问时l=1的特殊情况. 对于一个询问(l,r),如果要让错误的程序得到正确答 ...
- 【USACO】 洞穴奶牛
题目描述 贝西喜欢去洞穴探险.这次她去的地方由 N 个洞穴组成,编号分别是 1 到 N,1 号洞穴是出发 的起点. 洞穴之间由 M 条隧道相连,双向通行,第 i 条隧道连接 A i 和 B i .每条 ...
- 【LSGDOJ 1850】滑雪课程
题目描述 贝西去科罗拉多州去滑雪,不过还她不太会玩,只是个能力为 1 的渣渣.贝西从 0 时刻进入滑雪场,一到 T 时刻就必须离开.滑雪场里有 N 条斜坡,第 i 条斜坡滑行一次需要 D i 分钟,要 ...
- [USACO Jan09] 安全路径
Gremlins最近在农场上泛滥,它们经常会阻止牛们从农庄(牛棚_1)走到别的牛棚(牛_i的目的 地是牛棚_i).每一个gremlin只认识牛_i并且知道牛_i一般走到牛棚_i的最短路经.所以它 们在 ...
- 【吃炸弹的鸽子UVA10765-双联通模板】
·从前有一个鸽子Lence,它吃了一个炸弹,然后有人出了这道题. ·英文题,述大意: 给出一张连通无向图,求出:对于每个点,删去这个点(以及它相连的边以后)时,当前图中的连通块数量,这个 ...