Foxtable(狐表)用户栏目专家坐堂 → 关于excel如何才能导出自定义的样式


  共有2927人关注过本帖树形打印复制链接

主题:关于excel如何才能导出自定义的样式

帅哥哟,离线,有人找我吗?
冰淇淋小子
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:182 积分:1306 威望:0 精华:0 注册:2012/3/27 11:54:00
关于excel如何才能导出自定义的样式  发帖心情 Post By:2016/3/13 16:18:00 [只看该作者]

5如,我的内存如果是2g红色加粗,出厂日期有2008.2009.2010红色加粗。如果中心字段有离职,公共设施加不同的背景色。请问这个报表如何去做?

 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2016/3/13 20:17:00 [只看该作者]

http://www.foxtable.com/help/topics/1146.htm

 回到顶部
帅哥哟,离线,有人找我吗?
冰淇淋小子
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:182 积分:1306 威望:0 精华:0 注册:2012/3/27 11:54:00
  发帖心情 Post By:2016/3/13 21:29:00 [只看该作者]

那excel编程的代码是放到哪里?我看帮助没有提到吗?


 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2016/3/13 21:34:00 [只看该作者]

可以做一个窗口,加一个按钮,在按钮的click 事件中写代码

也可以做菜单,比较麻烦点。

 回到顶部
帅哥哟,离线,有人找我吗?
冰淇淋小子
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:182 积分:1306 威望:0 精华:0 注册:2012/3/27 11:54:00
  发帖心情 Post By:2016/3/13 21:42:00 [只看该作者]

明白了。


 回到顶部
帅哥哟,离线,有人找我吗?
冰淇淋小子
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:182 积分:1306 威望:0 精华:0 注册:2012/3/27 11:54:00
  发帖心情 Post By:2016/3/14 4:47:00 [只看该作者]

我是新手,还能帮我写一下,条件是,如果如果中心是离职或者公共设施的自动加背景色。背景色我在自定义样式设置好了。如果内存,2g自动红色加粗。如果生产日期,包含2008.2 009.2010红色加粗,如果保修日期超过5年,包含5年的红色加粗。如果是否过保跟保修日期对比,如果超过当前日期算自动过保,过保颜色加粗。


这个条件在eexcel编程如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
冰淇淋小子
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:182 积分:1306 威望:0 精华:0 注册:2012/3/27 11:54:00
  发帖心情 Post By:2016/3/14 5:03:00 [只看该作者]

我使用年限用的是双精度小数。扩张类型是时段,那我怎么在excsl把使用年限转换为某年某月

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/14 10:39:00 [只看该作者]

 如果保存的是天数,那么直接除以365,除以12就是答案

 

Dim d As Double = 370
msgbox(d \ 365)
msgbox((d Mod 365) \ 12 + 1)


 回到顶部
帅哥哟,离线,有人找我吗?
冰淇淋小子
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:182 积分:1306 威望:0 精华:0 注册:2012/3/27 11:54:00
  发帖心情 Post By:2016/3/14 10:51:00 [只看该作者]

导出excel是不是这样写:


Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.ForeColor = Color.Red
style.FontBold = True '样式的背景颜色设为红色
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("内存") =  2G  Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("内存").Index).Style = Style '设置折扣单元格的样式
    End If

Next

Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = BackColor.Red
style.FontBold = True '样式的背景颜色设为红色
Dim st As XLS.Style = Book.NewStyle '日期列的显示格式 
st.Format = "yyyy-MM-dd" 
For c As Integer = 0 To nms.length -1 
    Sheet(0, c).Value = caps(c) '指定列标题
    Sheet.Cols(c).Width = szs(c) '指定列宽
    If dt.Cols(nms(c)).IsDate Then '如果是日期列
        Sheet.Cols(c).Style = st '设置显示格式
    End If
Next
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("生产日期") =  2008,2009,2010  Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("生产日期").Index).Style = Style '设置折扣单元格的样式
    End If

Next
Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = BackColor.Red
style.FontBold = True '样式的背景颜色设为红色
Dim st As XLS.Style = Book.NewStyle '日期列的显示格式 
st.Format = "yyyy-MM-dd" 
For c As Integer = 0 To nms.length -1 
    Sheet(0, c).Value = caps(c) '指定列标题
    Sheet.Cols(c).Width = szs(c) '指定列宽
    If dt.Cols(nms(c)).IsDate Then '如果是日期列
        Sheet.Cols(c).Style = st '设置显示格式
    End If
Next
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("保修日期") =  没过保, 过保 Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("保修日期").Index).Style = Style '设置折扣单元格的样式
    End If

Next

Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = BackColor.Plum
style.FontBold = True '样式的背景颜色设为红色
Dim st As XLS.Style = Book.NewStyle '日期列的显示格式 
st.Format = "yyyy-MM-dd" 
For c As Integer = 0 To nms.length -1 
    Sheet(0, c).Value = caps(c) '指定列标题
    Sheet.Cols(c).Width = szs(c) '指定列宽
    If dt.Cols(nms(c)).IsDate Then '如果是日期列
        Sheet.Cols(c).Style = st '设置显示格式
    End If
Next
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("保修日期") =  没过保, 过保 Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("保修日期").Index).Style = Style '设置折扣单元格的样式
 else If dt.rows(r)("保修日期") =  没过保, 过保 Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("保修日期").Index).Style = Style '设置折扣单元格的样式
    End If

Next

Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = BackColor.Plum
style.FontBold = True '样式的背景颜色设为红色
Dim st As XLS.Style = Book.NewStyle '日期列的显示格式 
st.Format = "yyyy-MM-dd" 
For c As Integer = 0 To nms.length -1 
    Sheet(0, c).Value = caps(c) '指定列标题
    Sheet.Cols(c).Width = szs(c) '指定列宽
    If dt.Cols(nms(c)).IsDate Then '如果是日期列
        Sheet.Cols(c).Style = st '设置显示格式
    End If
Next
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("公共设施") =  公共设施 Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("公共设施").Index).Style = Style '设置折扣单元格的样式
else
      If dt.rows(r)("使用年限") =  date.today Then
      Dim d As Double = 370
msgbox(d \ 365)
msgbox((d Mod 365) \ 12 + 1)
    End If

Next


   
这样写吗??


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/14 17:26:00 [只看该作者]

类似这样写,设置样式,修改值的,直接添加在红色代码的后面即可

 

Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.ForeColor = Color.Red
style.FontBold = True '样式的背景颜色设为红色
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("内存") =  "2G"  Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("内存").Index).Style = Style '设置折扣单元格的样式
    End If


Next

[此贴子已经被作者于2016/3/14 17:28:12编辑过]

 回到顶部
总数 13 1 2 下一页