找回密码
 立即注册

QQ登录

只需一步,快速开始

回复 19楼iceman的帖子




这个excel导入spread后,导出pdf,第一二行中列的左边框很粗,希望统一样式,代码控制没作用,该怎么办?

本帖子中包含更多资源

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

x

6 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2013-12-25 18:21:00
沙发
回复 1楼study1990的帖子

您好,我测试了一下,您描述的情况属实。

这个需要咨询一下产品团队,一有新的进展会及时通知您的。

  1.            
  2. this.FpSpread1.OpenExcel(@"C:\Users\rogerwang\Desktop\損益計算書(PL).xlsx");
  3. this.FpSpread1.SavePdf(@"c:\a.pdf");
复制代码
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-12-26 13:41:00
板凳
回复 1楼study1990的帖子

产品团队反馈如下:
Excel导入Spread  for ASP.NET是通过如下的对应关系:

Border Styles Substituted

目前无接口修改,非常抱歉  

本帖子中包含更多资源

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

x
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2013-12-26 15:16:00
地板
回复 3楼roger.wang的帖子

在spread中是Solid - 2,导出pdf时设置为Solid-1,导出的pdf还是很粗,这是bug吗?

但当把最左边单元格的左边框设成1或0,就可以了。不过就多出个口子。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-12-26 17:15:00
5#
回复 4楼study1990的帖子

您说的情况,我写代码验证了,情况属实。

可选方案有2个:
1 默认不做处理,导出的PDF边框粗一些
2 如下修改为1个pixel,但是会存在一个缺口(左侧或者右侧)

  1.         
  2.      protected void Page_Load(object sender, EventArgs e)
  3.         {
  4.             if (IsPostBack)
  5.             {
  6.                 return;
  7.             }

  8.             this.FpSpread1.OpenExcel(@"C:\a.xls");

  9.             SetBord(1);

  10.             SetEdge();
  11.             this.FpSpread1.SavePdf(@"c:\a.pdf");
  12.         }

  13.         private void SetBord(int border)
  14.         {
  15.             for (int i = 0; i < FpSpread1.Rows.Count; i++)
  16.             {
  17.                 for (int j = 0; j < FpSpread1.Columns.Count; j++)
  18.                 {
  19.                     this.FpSpread1.Cells[i, j].Border.BorderSizeBottom = 1;
  20.                     this.FpSpread1.Cells[i, j].Border.BorderSizeLeft = 1;
  21.                     this.FpSpread1.Cells[i, j].Border.BorderSizeRight = 1;
  22.                     this.FpSpread1.Cells[i, j].Border.BorderSizeTop = 1;
  23.                 }
  24.             }
  25.         }

  26.         private void SetEdge(int border = 2)
  27.         {
  28.             for (int i = 0; i < FpSpread1.Rows.Count; i++)
  29.             {
  30.                 for (int j = 0; j < FpSpread1.Columns.Count; j++)
  31.                 {
  32.                     if (i == 0)
  33.                     {
  34.                         this.FpSpread1.Cells[i, j].Border.BorderSizeTop = 2;
  35.                     }
  36.                     else if (i == FpSpread1.Rows.Count - 1)
  37.                     {
  38.                         this.FpSpread1.Cells[i, j].Border.BorderSizeBottom = 2;
  39.                     }
  40.                     else if (j == 0)
  41.                     {
  42.                         this.FpSpread1.Cells[i, j].Border.BorderSizeLeft = 2;   
  43.                     }
  44.                     else if (j == FpSpread1.Columns.Count - 1)
  45.                     {
  46.                     
  47.                     this.FpSpread1.Cells[i, j].Border.BorderSizeRight = 2;
  48.                     }
  49.                 }
  50.             }
  51.         }
复制代码


我这里会给产品团队报一个bug,不过可能修复的周期较长。

非常抱歉  
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2013-12-27 09:27:00
6#
回复 5楼roger.wang的帖子

好吧,我再给客户反映一下。

:share:
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-12-27 09:29:00
7#
回复 6楼study1990的帖子

感谢理解   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部