找回密码
 立即注册

QQ登录

只需一步,快速开始

rongchao

注册会员

5

主题

15

帖子

54

积分

注册会员

积分
54

活字格认证

最新发帖
rongchao
注册会员   /  发表于:2017-2-23 14:56  /   查看:4402  /  回复:7
我用的spread10,正常情况下是可以应用skin的。但是OpenExcel以后原来应用的skin消失,变成默认格式。重新运行FarPoint.Win.Spread.DefaultSpreadSkins.GetAt(3).Apply(Me.FpSpread1)。其余的格式都应用了skin。但是只有ColumnHeader没有变化。见图:RowHeader已经变成灰色,但是ColumnHeader还是浅色,没有变化。











无标题.jpg

7 个回复

倒序浏览
rongchao
注册会员   /  发表于:2017-2-23 17:15:00
沙发
使用的是OpenExcel(JLs, FarPoint.Excel.ExcelOpenFlags.ColumnHeaders)这种情况下,出现ColumnHeader不能应用skin的问题
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-23 17:58:03
板凳
OpenExcel 后面会重置之前设置,您再OpenExcel 后在重新设置下
回复 使用道具 举报
rongchao
注册会员   /  发表于:2017-2-23 21:41:22
地板
OpenExcel 后重新设置,ColumnHeader没有变化,RowHeader已经变成灰色。见图。另外如果Excel较复杂的话,应用skin,会死机。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-24 09:26:52
5#
这个需要您提供下Demo来重现问题。
回复 使用道具 举报
rongchao
注册会员   /  发表于:2017-2-24 10:38:48
6#
好的,这是一个简单应用VS2013,VB。NET项目。附两个Excel文件,正常情况可以应用Skin,但是openExcel以后,再应用Skin,ColumnHeader没有变化。openExcel那个复杂Excel文件,再应用Skin,就不动了。

实验Skin.rar

151.15 KB, 下载次数: 299

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-24 14:28:15
7#
感谢你的Demo,问题已重现。
ColumnHeader 没变化是因为从单元格导入Header时会带上以前的样式,您可以试下将Excel 冻结行加上背景色和字体颜色,都会导入到Header里,所以默认样式没有生效。如何清除Header的样式,让默认样式生效,这个需要再调查下。
第二个问题也重现了,我会反馈开发部门处理。
有结果就给您反馈
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-27 17:40:18
8#
您好针对您的问题 ,需要对代码做如下更新
一个是 FpSpread1.NamedStyles.RemoveAt(0)
另一个是for循环重置header

  1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  2.         Dim sfd As OpenFileDialog = New OpenFileDialog
  3.         Dim JLs As String
  4.         Try
  5.             sfd.Filter = "Excel文件|*.xls|Excel新版|*.xlsx"
  6.             sfd.InitialDirectory = Application.StartupPath & ""
  7.             If sfd.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub
  8.             JLs = sfd.FileName
  9.             Me.FpSpread1.OpenExcel(JLs, FarPoint.Excel.ExcelOpenFlags.ColumnHeaders)

  10.             FpSpread1.NamedStyles.RemoveAt(0)

  11.             Me.FpSpread1.BorderStyle = BorderStyle.None
  12.             Me.FpSpread1_Sheet1.ColumnHeaderAutoText = FarPoint.Win.Spread.HeaderAutoText.Blank
  13.             Me.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.AsNeeded

  14.             Dim i
  15.             For i = 0 To FpSpread1.ActiveSheet.ColumnHeader.RowCount - 1
  16.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetBackColor()
  17.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetBorder()
  18.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetCanFocus()
  19.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetCellPadding()
  20.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetCellType()
  21.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetFont()
  22.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetForeColor()
  23.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetHorizontalAlignment()
  24.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetImeMode()
  25.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetImeSentenceMode()
  26.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetLockBackColor()
  27.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetLocked()
  28.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetLockFont()
  29.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetLockForeColor()
  30.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetMergePolicy()
  31.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetNoteIndicatorColor()
  32.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetNoteIndicatorPosition()
  33.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetNoteIndicatorSize()
  34.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetParentStyleName()
  35.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetTabStop()
  36.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetTextIndent()
  37.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetVerticalAlignment()
  38.                 FpSpread1.ActiveSheet.ColumnHeader.Rows(i).ResetVisualStyles()
  39.             Next
  40.         Catch ex As System.Exception
  41.             MsgBox(ex.Message)
  42.         End Try
  43.     End Sub
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部