Foxtable(狐表)用户栏目专家坐堂 → [求助]表格导出如何设置某一列为百分比格式


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

主题:[求助]表格导出如何设置某一列为百分比格式

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
[求助]表格导出如何设置某一列为百分比格式  发帖心情 Post By:2020/7/13 15:06:00 [只看该作者]

请问,表格导出如何设置某一列为百分比格式?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105479 积分:536386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/13 15:12:00 [只看该作者]

怎么导的数据?高速导出?使用模板?自己写代码导?

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2020/7/13 15:14:00 [只看该作者]

Dim dt As Table = Tables("订单")
Dim
nms() As String = {"产品","客户","数量","单价","金额","日期"} '要导出的列名
Dim
caps() As String = {"产品名称","用户名称","数量","单价","金额","日期"} '对应的列标题
Dim
szs() As Integer = {100,100,80,80,80,120} '对应的列宽
Dim
Book As New XLS.Book '定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
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
r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To nms.length -1
        Sheet(r +1, c).Value = dt.rows(r)(nms(c))
    Next

Next
Dim
dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg
.Filter= "Excel文件|*.xls" '设置筛选器
If
dlg.ShowDialog = DialogResult.Ok Then
    Book.Save(dlg.FileName)
    Dim Proc As New Process
    Proc.File = dlg.FileName
    Proc.Start()

End
If



这个方法导出的

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105479 积分:536386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/13 15:24:00 [只看该作者]

例如:

Dim st2 As XLS.Style = Book.NewStyle '日期列的显示格式 
st2
.Format = "0.00%" 
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 '
设置显示格式
elseif nms(c) = "金额"
        Sheet.Cols(c).Style = st2 
    End If
Next

 回到顶部