Foxtable(狐表)用户栏目专家坐堂 → [求助]基于excel模板导出报表,关于格式设置的问题


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

主题:[求助]基于excel模板导出报表,关于格式设置的问题

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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
[求助]基于excel模板导出报表,关于格式设置的问题  发帖心情 Post By:2013/11/20 13:28:00 [只看该作者]

基于excel模板导出报表时,保存在excel模板中的“条件格式”不能被继承么?
我想让某一时间列中早于今天的日期背景显示红色,请问该如何设置呢?
请好心人不吝赐教,拜谢。图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/20 14:05:00 [只看该作者]


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/20 17:00:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:54 积分:728 威望:0 精华:0 注册:2013/11/13 18:11:00
  发帖心情 Post By:2013/11/20 18:00:00 [只看该作者]

因为是想导出汇总模式的报表,所以用到了excel的模板模式导出,程序代码用的说明书里的,具体如下:

Dim Book As New XLS.Book(ProjectPath & "Attachments\from-cage.xlsx")
Dim fl As String = ProjectPath & "Reports\report-cage.xlsx"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()

from-cage.xlsx为模板文件,report-cage.xlsx为导出后的报表文件。已经上传了上来,条目都能导出,但是狐表里“自定义样式表”里的颜色不能导出。希望达到的效果是hope.xls那样的,对特殊值及满足条件的单元格标示颜色。

管理大人说要用代码改,小弟刚接触狐表,代码不是太懂,哪位好心人可指点一二?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:from-cage.xlsx
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:report-cage.xlsx

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hope.xls




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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/11/20 19:32:00 [只看该作者]

 3楼已经给你答案了,模板是设置不了的,只能是通过代码单独去设置样式。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/21 8:39:00 [只看该作者]

还有一个办法,根据模版生成报表之后,用foxtable编码打开这个文件,遍历相关数据,根据数据设置格式。

 

大概如下:

 

'第一步正常根据模版生成报表
Dim Book As New  XLS.Book(ProjectPath &  "Attachments\出库单.xls")
Dim fl As  String = ProjectPath  &  "Reports\出库单.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
'第二步对生成的报表二次加工
Book =  New XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.ForeColor = Color.Red '设置样式的字体颜色
For i As Integer = 0 To sheet.Rows.count -1
    Dim s As String = sheet(i,5).Value '获取此行第六列的内容
    Dim v As Double = val(v) '转换为数值,如果大于100
    If v > 100 Then
        sheet(i,5).Style = style
    End If
Next
Book.Save(fl) '保存工作簿
'第三步,打开生成好的报表
Dim Proc As  New  Process  '打开工作簿
Proc.File = fl
Proc.Start()


 回到顶部