找回密码
 立即注册

QQ登录

只需一步,快速开始

info

初级会员

16

主题

67

帖子

454

积分

初级会员

积分
454
info
初级会员   /  发表于:2021-1-15 12:54  /   查看:4344  /  回复:4
1金币
例如需要打印A1:J60,请问在打印的时候怎么设定打印区域
以下是现在打印使用的代码


FarPoint.Win.Spread.PrintInfo printset = new FarPoint.Win.Spread.PrintInfo();
printset.ZoomFactor = 0.7f;
printset.Preview = true;
printset.ShowPrintDialog = true;
//隐藏表头
fpSpread1.ActiveSheet.ColumnHeader.Visible = false;
fpSpread1.ActiveSheet.RowHeader.Visible = false;
this.fpSpread1.SetPrintInfo(printset, 0);
this.fpSpread1.PrintSheet(0);

最佳答案

查看完整内容

1. 居中打印代码 2. 你描述了代码中的情况,现在具体是遇到什么问题了呢?我看你没有表头和有表头的都打印出来了已经 3.现在情况是显示的和打印的值不一样只是打印的值错了,还是说显示的值就是错的,请给一个重现问题的步骤(以及文件) 另外,新的问题建议重新开新帖提问。不要再老帖子里回复

4 个回复

正序浏览
info
初级会员   /  发表于:2021-1-18 12:57:33
4#
Richard.Ma 发表于 2021-1-15 18:04
可以参考以下的代码,打印的是前20行列区域内的单元格

打印有三个问题
1.打印内容都偏左上,应该要预留空白边,有没有办法居中显示,如01附件
2.打印把表头隐藏了,打印完需要把表头显示,按照下述代码写表头打印出来,如附件02
3.N23有公式,应该显示为“-”,现在显示不正确
//隐藏表头
fpSpread1.ActiveSheet.ColumnHeader.Visible = false;
fpSpread1.ActiveSheet.RowHeader.Visible = false;
this.fpSpread1.SetPrintInfo(printset, 0);
this.fpSpread1.PrintSheet(0);
fpSpread1.ActiveSheet.ColumnHeader.Visible = true;
fpSpread1.ActiveSheet.RowHeader.Visible = true;

附件03为Excel打印出来格式

01.pdf (223.63 KB, 下载次数: 1)

03.pdf

228.99 KB, 阅读权限: 100, 下载次数: 2

02.pdf

229 KB, 阅读权限: 100, 下载次数: 1

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-1-15 18:04:26
3#
可以参考以下的代码,打印的是前20行列区域内的单元格

  1. // Create the printer settings object
  2. FarPoint.Win.Spread.PrintInfo printset = new FarPoint.Win.Spread.PrintInfo();
  3. // Allow printing of only 20 columns and 20 rows of cells
  4. printset.ColStart = 1;
  5. printset.ColEnd = 20;
  6. printset.RowStart = 1;
  7. printset.RowEnd = 20;
  8. printset.PrintType = FarPoint.Win.Spread.PrintType.CellRange;
  9. // Assign the printer settings to the sheet and print it
  10. fpSpread1.Sheets[0].PrintInfo = printset;
  11. fpSpread1.PrintSheet(0);
复制代码


回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-1-15 13:49:20
2#
问题已经收到,我验证后给你回复
回复 使用道具 举报
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-1-15 12:54:57
来自 5#
本帖最后由 Richard.Ma 于 2021-1-19 13:44 编辑

1. 居中打印代码
  1. FarPoint.Win.Spread.PrintInfo printinfo = new FarPoint.Win.Spread.PrintInfo();
  2.             printinfo.Centering = FarPoint.Win.Spread.Centering.Both;

  3.             fpSpread1.Sheets[0].PrintInfo = printinfo;
  4.             fpSpread1.PrintSheet(0);
复制代码

2. 你描述了代码中的情况,现在具体是遇到什么问题了呢?我看你没有表头和有表头的都打印出来了已经

3.现在情况是显示的和打印的值不一样只是打印的值错了,还是说显示的值就是错的,请给一个重现问题的步骤(以及文件)

另外,新的问题建议重新开新帖提问。不要再老帖子里回复
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部