找回密码
 立即注册

QQ登录

只需一步,快速开始

孙志强 讲师达人认证
金牌服务用户   /  发表于:2024-4-13 10:23  /   查看:1885  /  回复:5
本帖最后由 Lynn.Dou 于 2024-4-25 17:32 编辑

GcExcel 设置水平居中, 垂直居中不生效
已上传附件

Desktop.zip

52.4 KB, 下载次数: 551

5 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-15 09:53:08
沙发
其实是生效了的,让你产生不生效的错觉是因为你的行列数,行数有82行,列数有48列,你设置的这个setCenterHorizontally和setCenterVertically是对整个工作表(worksheet)做的打印居中处理,也就是包含整体82行和48列及其空白区域一起做居中处理。
image.png421372069.png
image.png89307555.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-4-15 10:04:49
板凳
您好,需要设置打印区域,
  1.    for (IWorksheet worksheet : workbook.getWorksheets()) {
  2.             worksheet.getPageSetup().setPrintArea("$A$1:$T$6");
  3.             worksheet.getPageSetup().setCenterHorizontally(true);
  4.             worksheet.getPageSetup().setCenterVertically(true);
  5.             worksheet.save("E:\\download\\Desktop\"+worksheet.getName()+".pdf", pdfSaveOptions);
  6.         }
复制代码
设置后,就可以正常水平垂直居中了

image.png571648559.png

回复 使用道具 举报
Lewis
初级会员   /  发表于:2024-4-15 10:26:08
地板
因为你的sheet打印设置里面还有打印区域,会导致页面区域变大,看起来就没有生效;可以清空打印区域,就能拿到你想要的效果:
  1. worksheet.getPageSetup().setPrintArea(null);
复制代码

评分

参与人数 1金币 +200 收起 理由
Ellia.Duan + 200

查看全部评分

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-4-15 16:28:38
5#
您好,可以参考楼上的回复,看看是否可以解决您的问题
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-24 11:25:10
6#
没有看到您再回复,这个帖子先结帖了。如果有新的问题,可以发新帖沟通
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部