以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]报表导出怎么才能格式不变  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122743)

--  作者:紫色幽魂
--  发布时间:2018/8/1 11:58:00
--  [求助]报表导出怎么才能格式不变
导出表单里面的数据,怎么才能让导出的数据格式不变呢?
用的是系统自带的导出命令,选择了保存格式设置还是一样,没有格式,比如保留2位小数,百分比符号这种

--  作者:有点甜
--  发布时间:2018/8/1 12:30:00
--  

改成saveexcel

 

http://www.foxtable.com/webhelp/scr/0559.htm

 


--  作者:紫色幽魂
--  发布时间:2018/8/1 18:34:00
--  回复:(有点甜)改成saveexcel http://www....
还是一样的,没有格式
--  作者:有点甜
--  发布时间: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
--  发布时间:2019/6/28 21:15:00
--  
这样导出,怎么把合计行,也导出来?
--  作者:有点蓝
--  发布时间: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
……