找回密码
 立即注册

QQ登录

只需一步,快速开始

gsyxy100

初级会员

27

主题

82

帖子

223

积分

初级会员

积分
223

活字格认证微信认证勋章

gsyxy100
初级会员   /  发表于:2011-7-4 10:40  /   查看:8878  /  回复:6
EXCEL文件导入到FpSpread ,表格线变粗的问题,求解答!
如下图EXCEL文件:
ReportFileName

gif

gif

// FarPoint打开文件
this.FpSpread1.OpenExcel(ReportFileName);

gif

gif



EXCEL文件导入到FpSpread ,表格线变粗!

6 个回复

倒序浏览
gsyxy100
初级会员   /  发表于:2011-7-4 11:52:00
沙发
有人吗,管理人或技术人员!!!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-7-4 12:17:00
板凳
导入Excel时,Excel如果设置如图所示的All Border,Spread也会给每一个Cell加上完整的Border。这样,相邻Cell会对同一个共有的边进行两次绘制。于是导致了你看到的变粗的的问题。

结果这个问题,只能添加代码,重新设置Border。建议使用ComplexBorder。它可以单独指定上下左右的边框宽度。

详情请参考帮助文档中ComplexBorder章节。
回复 使用道具 举报
gsyxy100
初级会员   /  发表于:2011-7-4 15:04:00
地板
我这用的是WEB端,帮助文档里边没找见
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-7-4 16:10:00
5#
非常抱歉,之前给你回复的是WinForm版本的。

Web版本的Spread可以参见Border章节。

下面代码示例显示了Border的用法。
  1. FarPoint.Web.Spread.CurrencyCellType currcell = new FarPoint.Web.Spread.CurrencyCellType();
  2. FarPoint.Web.Spread.Border aborder = new FarPoint.Web.Spread.Border();
  3. FarPoint.Web.Spread.StyleInfo currstyle = new FarPoint.Web.Spread.StyleInfo();
  4. FpSpread1.Sheets[0].ColumnCount = 7;
  5. FpSpread1.Sheets[0].RowCount = 50;
  6. currcell.Size = 20;
  7. aborder.BorderColorBottom = Color.Blue;
  8. aborder.BorderColorLeft = Color.Blue;
  9. aborder.BorderSize = 5;
  10. aborder.BorderStyleBottom = BorderStyle.Double;
  11. aborder.BorderStyleLeft = BorderStyle.Double;
  12. aborder.BorderStyleRight = BorderStyle.Groove;
  13. aborder.BorderStyleTop = BorderStyle.Groove;
  14. currstyle.CellType = currcell;
  15. currstyle.Border = aborder;
  16. FpSpread1.Sheets[0].SetStyleInfo(-1, 0, currstyle);
复制代码
回复 使用道具 举报
gsyxy100
初级会员   /  发表于:2011-7-5 11:19:00
6#
foreach (StyleInfo oStyleInfo in this.FpSpread1.ActiveSheetView.NamedStyles)
            {
                if (oStyleInfo.Border.BorderSizeTop > 1)
                {
                    oStyleInfo.Border.BorderSizeTop--;
                }
                if (oStyleInfo.Border.BorderSizeBottom > 1)
                {
                    oStyleInfo.Border.BorderSizeBottom--;
                }
                if (oStyleInfo.Border.BorderSizeLeft > 1)
                {
                    oStyleInfo.Border.BorderSizeLeft--;
                }
                if (oStyleInfo.Border.BorderSizeRight > 1)
                {
                    oStyleInfo.Border.BorderSizeRight--;
                }

                // 边框样式设置
                if (oStyleInfo.Border.BorderStyleTop == BorderStyle.NotSet
                    && oStyleInfo.Border.BorderStyleBottom == BorderStyle.NotSet
                    && oStyleInfo.Border.BorderStyleLeft == BorderStyle.NotSet
                    && oStyleInfo.Border.BorderStyleRight == BorderStyle.NotSet)
                {
                    oStyleInfo.Border.BorderStyleBottom = BorderStyle.None;
                }
            }
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-5 17:07:00
7#
:strong:  又一种解决方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部