新水友 发表于 2020-8-21 11:07:13

关于使用openpyxl设置Excel页边距和居中打印的问题

本帖最后由 新水友 于 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

新水友 发表于 2020-8-21 11:19:30

領銜§龍尊 发表于 2020-8-21 11:14
https://jingyan.baidu.com/article/86fae3466da4ba7c49121aff.html

使用程序批量设置表格页边距,要是手动设置我就不劳烦大神你帮我搜索了。

新水友 发表于 2020-8-21 11:27:39

本帖最后由 新水友 于 2020-8-21 11:29 编辑

谢谢大神了,不过我的问题是:如何实现在Python背景下,运用openpyxl库,操作Excel表格,改变其页边距。

海皇 发表于 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}')# 保存文件

倒戈卸甲 发表于 2020-8-21 11:47:07

感觉你的要求不是通过对工作薄的操作实现的,应该是要拿到excel的主程序application的某个接口。可以先在excel的vba里搜,打印毕竟是常用功能,肯定有相关接口的详细知识。然后再看看这些接口到py里是怎么用的

新水友 发表于 2020-8-21 11:47:32

海皇 发表于 2020-8-21 11:32


谢谢,这个也很有用,不过现在最需要解决的是:使用openpyxl库处理Excel时,需要编程批量设置Excel表格打印的页边距,同时水平、垂直居中打印。

新水友 发表于 2020-8-21 11:48:14

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

好的,这个思路对我很有帮助

倒戈卸甲 发表于 2020-8-21 11:50:56

新水友 发表于 2020-8-21 11:48
好的,这个思路对我很有帮助

我记得应该是pagesetup这个接口吧,然后设置打印printout。但有两年没整过excel了,不敢确定。你搜搜看

新水友 发表于 2020-8-21 11:51:40

倒戈卸甲 发表于 2020-8-21 11:50
我记得应该是pagesetup这个接口吧,然后设置打印。但有两年没整过excel了,不敢确定。你搜搜看

好的,谢谢啦
页: [1]
查看完整版本: 关于使用openpyxl设置Excel页边距和居中打印的问题