找回密码
 立即注册

QQ登录

只需一步,快速开始

SnailRun

高级会员

56

主题

182

帖子

1144

积分

高级会员

积分
1144

活字格认证微信认证勋章

SnailRun
高级会员   /  发表于:2015-5-8 11:25  /   查看:14067  /  回复:21
回复 8楼iceman的帖子

导出的excel和pdf都有样式问题,这个有什么好的解决方案?

21 个回复

正序浏览
iceman
社区贡献组   /  发表于:2015-5-21 13:40:00
22#
回复 19楼SnailRun的帖子

关于 Excel 导出和 PDF 导出 Chart 标题和图例功能,目前已经确定是 Spread 产品bug,已经添加到修复列表中,有进一步反馈后会通知你。

关于 Chart title 再导出 PDF 不一致问题,可以通过以下代码进行解决:

  1.         private void ResetChartElementsPosition(FpSpread spread)
  2.         {
  3.             float DEFAULT_TITLE_FONT_SIZE = 14f; // Please correct this value to get best fit output.
  4.             for (int i = 0; i < spread.Sheets.Count; i++)
  5.             {
  6.                 SheetView sv = spread.Sheets[0];
  7.                 for (int j = 0; j < sv.Charts.Count; j++)
  8.                 {
  9.                     SpreadChart sc = sv.Charts[j];
  10.                     sc.Model.LabelAreas[0].Location = new PointF(0.5f, sc.Model.LabelAreas[0].Location.Y);// Reset manual location
  11.                     sc.Model.LabelAreas[0].AlignmentX = 0.5f;
  12.                     sc.Model.LabelAreas[0].TextFont = new Font(sc.Model.LabelAreas[0].TextFont.FontFamily, DEFAULT_TITLE_FONT_SIZE);
  13.                 }
  14.             }
  15.         }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-5-18 13:56:00
21#
回复 19楼SnailRun的帖子

色差问题可以通过以下方法解决:


  1.             PrintInfo pi = new PrintInfo();
  2.             pi.ZoomFactor = 0.9f;
  3.             pi.Orientation = PrintOrientation.Landscape;
  4.             pi.ShowColor = true;

  5.             this.FpSpread1.ActiveSheetView.PrintInfo = pi;
  6.             this.FpSpread1.SavePdfToResponse("test.pdf");
复制代码


目前情况是在缩放情况下,图例和标题导出有问题,导出效果如下:


目前这个问题我们在和产品组沟通,看是否有解决方法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-5-18 10:26:00
20#
回复 19楼SnailRun的帖子

问题正在处理中,稍后回复。
回复 使用道具 举报
SnailRun
高级会员   /  发表于:2015-5-15 15:38:00
19#
回复 18楼iceman的帖子

这样压缩,图表样式或许会重叠啊。。还有pi.Orientation = PrintOrientation.Landscape;后,以前的颜色颜色样式怎么保留?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-5-15 15:24:00
18#
回复 17楼SnailRun的帖子

不好意思,目前无法支持纸张大小的设置,可以结合打印方向和缩放完成类似效果:

  1.         protected void Button2_Click(object sender, EventArgs e)
  2.         {
  3.             this.FpSpread1.OpenExcel(this.Server.MapPath("111.xlsx"));
  4.             this.FpSpread1.ActiveSheetView.AllowPage = false;
  5.             for (int c = 0; c < FpSpread1.ActiveSheetView.Charts.Count; c++)
  6.             {
  7.                 if (FpSpread1.ActiveSheetView.Charts[c].PageIndex == 1)
  8.                 {
  9.                     FpSpread1.ActiveSheetView.Charts[c].PageIndex = 0;
  10.                     FpSpread1.ActiveSheetView.Charts[c].Top = new Unit(FpSpread1.ActiveSheetView.Charts[c].Top.Value + 10 * 21); // 10 is PageSize, 21 is row height

  11.                 }
  12.             }
  13.             //this.FpSpread1.ActiveSheetView.Cells[0, 19].Text = "test";

  14.             PrintInfo pi = new PrintInfo();
  15.             pi.ZoomFactor = 0.8f;
  16.             pi.Orientation = PrintOrientation.Landscape;

  17.             this.FpSpread1.ActiveSheetView.PrintInfo = pi;
  18.             this.FpSpread1.SavePdfToResponse("test.pdf");
  19.         }
复制代码
回复 使用道具 举报
SnailRun
高级会员   /  发表于:2015-5-15 12:26:00
17#
回复 16楼iceman的帖子

你们的导出pdf,printinfo不能设置纸张的大小?好像默认是a4的,可以修改成a3?那样就可以解决打印pdf的问题了。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-5-13 19:01:00
16#
回复 14楼SnailRun的帖子

关于 Spread 导出到 PDF 文件的问题,在导出时 Spread 目前没有提供计算机制去计算 Chart 是否符合当前页面大小。这种行为和excel导出方式相同。附件是通过 Excel 导出的 pdf 文件,效果和 Spread 相同都会把超出纸张大小的部分分页展示。


Excel问题目前我们仍在调查中,有进一步结果反馈给你。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-5-12 17:03:00
15#
回复 14楼SnailRun的帖子

已经反馈给开发同事,有进一步消息及时反馈给你。
回复 使用道具 举报
SnailRun
高级会员   /  发表于:2015-5-12 15:27:00
14#
好的
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部