Foxtable(狐表)用户栏目专家坐堂 → [求助]报表导出怎么才能格式不变


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

主题:[求助]报表导出怎么才能格式不变

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


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
[求助]报表导出怎么才能格式不变  发帖心情 Post By:2018/8/1 11:58:00 [只看该作者]

导出表单里面的数据,怎么才能让导出的数据格式不变呢?
用的是系统自带的导出命令,选择了保存格式设置还是一样,没有格式,比如保留2位小数,百分比符号这种

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


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


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


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点甜)改成saveexcel http://www....  发帖心情 Post By:2018/8/1 18:34:00 [只看该作者]

还是一样的,没有格式

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


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

Dim dt As Table = Tables("表A")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表


For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
    If dt.grid.Cols(c+1).Format > "" Then
        Dim Style As Xls.Style = Book.NewStyle '新建一个样式
        Style.Format = dt.grid.Cols(c+1).Format
        sheet.Cols(c).style = style
    End If

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
Next
'打开工作簿
Book.Save("c:\reports\test.xls")
Dim Proc As New Process
Proc.File = "c:\reports\test.xls"
Proc.Start()


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


加好友 发短信
等级:七尾狐 帖子:1769 积分:16699 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2019/6/28 21:15:00 [只看该作者]

这样导出,怎么把合计行,也导出来?

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/28 21:30:00 [只看该作者]

最后一行手工合计,如:

……
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
Next
If Tables("表A").GrandTotal Then
    Dim Style As Xls.Style = Book.NewStyle
    Style.BackColor = Color.PaleGreen
    Dim i As Integer = dt.Rows.Count + 1
    Sheet(i, 0).Value = "合计"
    sheet(i, 0).style = style
    For c As Integer = 1 To dt.Cols.Count -1 
        sheet(i, c).style = style
        If dt.Cols(c).GrandTotal Then
            Sheet(i, c).Value = dt.Compute("sum(" & dt.Cols(c).Name & ")")
        End If
    Next
End If
……

 回到顶部