鱼C论坛

 找回密码
 立即注册
查看: 4951|回复: 9

[已解决]关于使用openpyxl设置Excel页边距和居中打印的问题

[复制链接]
发表于 2020-8-21 11:07:13 | 显示全部楼层 |阅读模式
60鱼币
本帖最后由 新水友 于 2020-8-21 11:18 编辑

我在使用openpyxl库处理Excel时,需要设置Excel表格打印的页边距,同时水平、垂直居中。
在查阅了大量不靠谱的搜索答案后,只能来此请教各位大神。

PS:是使用openpyxl库批量处理Excel的页边距,不是手动调整。
最佳答案
2020-8-21 11:07:14
本帖最后由 疾风怪盗 于 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

最佳答案

查看完整内容

https://blog.csdn.net/lpwmm/article/details/83720318 参考这篇里面的设置 页面居中可以参考https://zhuanlan.zhihu.com/p/157683771
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-21 11:07:14 | 显示全部楼层    本楼为最佳答案   
本帖最后由 疾风怪盗 于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-21 11:19:30 | 显示全部楼层
領銜§龍尊 发表于 2020-8-21 11:14
https://jingyan.baidu.com/article/86fae3466da4ba7c49121aff.html

使用程序批量设置表格页边距,要是手动设置我就不劳烦大神你帮我搜索了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-21 11:27:39 From FishC Mobile | 显示全部楼层
本帖最后由 新水友 于 2020-8-21 11:29 编辑

谢谢大神了,不过我的问题是:如何实现在Python背景下,运用openpyxl库,操作Excel表格,改变其页边距。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-21 11:32:50 | 显示全部楼层
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}')  # 保存文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-21 11:47:07 From FishC Mobile | 显示全部楼层
感觉你的要求不是通过对工作薄的操作实现的,应该是要拿到excel的主程序application的某个接口。可以先在excel的vba里搜,打印毕竟是常用功能,肯定有相关接口的详细知识。然后再看看这些接口到py里是怎么用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-21 11:47:32 From FishC Mobile | 显示全部楼层
海皇 发表于 2020-8-21 11:32

谢谢,这个也很有用,不过现在最需要解决的是:使用openpyxl库处理Excel时,需要编程批量设置Excel表格打印的页边距,同时水平、垂直居中打印。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-21 11:48:14 From FishC Mobile | 显示全部楼层
倒戈卸甲 发表于 2020-8-21 11:47
感觉你的要求不是通过对工作薄的操作实现的,应该是要拿到excel的主程序application的某个接口。可以先在ex ...

好的,这个思路对我很有帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-21 11:50:56 From FishC Mobile | 显示全部楼层
新水友 发表于 2020-8-21 11:48
好的,这个思路对我很有帮助


我记得应该是pagesetup这个接口吧,然后设置打印printout。但有两年没整过excel了,不敢确定。你搜搜看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-21 11:51:40 From FishC Mobile | 显示全部楼层
倒戈卸甲 发表于 2020-8-21 11:50
我记得应该是pagesetup这个接口吧,然后设置打印。但有两年没整过excel了,不敢确定。你搜搜看

好的,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 08:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表