关于使用openpyxl设置Excel页边距和居中打印的问题
本帖最后由 新水友 于 2020-8-21 11:18 编辑我在使用openpyxl库处理Excel时,需要设置Excel表格打印的页边距,同时水平、垂直居中。
在查阅了大量不靠谱的搜索答案后,只能来此请教各位大神。
PS:是使用openpyxl库批量处理Excel的页边距,不是手动调整。 本帖最后由 疾风怪盗 于 2020-8-21 13:14 编辑
https://blog.csdn.net/lpwmm/article/details/83720318
参考这篇里面的设置
ws.page_margins = openpyxl.worksheet.page.PageMargins(top=1.97, header=1.57)# 设置页边距(单位:英寸)
页面居中可以参考https://zhuanlan.zhihu.com/p/157683771 領銜§龍尊 发表于 2020-8-21 11:14
https://jingyan.baidu.com/article/86fae3466da4ba7c49121aff.html
使用程序批量设置表格页边距,要是手动设置我就不劳烦大神你帮我搜索了。 本帖最后由 新水友 于 2020-8-21 11:29 编辑
谢谢大神了,不过我的问题是:如何实现在Python背景下,运用openpyxl库,操作Excel表格,改变其页边距。 def Set_excel_style(file_name):#设置表格为文本格式
wb = load_workbook(f'{file_name}')# 打开文件
ws = wb['Sheet1']# 打开表格
for row in ws.rows:# 获取所有行
for cell in row:# 获取所有行中的每一个单元格
cell.font = Font(name=u'微软雅黑', size=11)# 设置字体
cell.border = Border(left=Side(border_style="thin", color='000000'),
right=Side(border_style="thin", color='000000'),
top=Side(border_style="thin", color='000000'),
bottom=Side(border_style="thin", color='000000'))# 设置边框格式
cell.alignment = Alignment(horizontal='center')# 设置居中
cell.number_format = '@'# 设置为文本格式
wb.save(f'{file_name}')# 保存文件 感觉你的要求不是通过对工作薄的操作实现的,应该是要拿到excel的主程序application的某个接口。可以先在excel的vba里搜,打印毕竟是常用功能,肯定有相关接口的详细知识。然后再看看这些接口到py里是怎么用的 海皇 发表于 2020-8-21 11:32
谢谢,这个也很有用,不过现在最需要解决的是:使用openpyxl库处理Excel时,需要编程批量设置Excel表格打印的页边距,同时水平、垂直居中打印。 倒戈卸甲 发表于 2020-8-21 11:47
感觉你的要求不是通过对工作薄的操作实现的,应该是要拿到excel的主程序application的某个接口。可以先在ex ...
好的,这个思路对我很有帮助 新水友 发表于 2020-8-21 11:48
好的,这个思路对我很有帮助
我记得应该是pagesetup这个接口吧,然后设置打印printout。但有两年没整过excel了,不敢确定。你搜搜看 倒戈卸甲 发表于 2020-8-21 11:50
我记得应该是pagesetup这个接口吧,然后设置打印。但有两年没整过excel了,不敢确定。你搜搜看
好的,谢谢啦
页:
[1]