Foxtable(狐表)用户栏目专家坐堂 → 统计表导成excel控制小数点后两位,提示错误


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

主题:统计表导成excel控制小数点后两位,提示错误

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2021/12/7 9:40:00 [只看该作者]

1、我下面合并表头的代码,感觉写的太复杂了,有简便的方法吗

Dim x_c As String=""  '记录第一层的列名
Dim k As Integer=0
For c As Integer = 0 To nms.length -1
    Dim ar() As String = caps(c) .split("_")
    Sheet(0, c).Value = ar(0)  '指定列标题
    output.show(caps(c))
    If  ar.length = 2 Then
        Sheet(1, c).Value = ar(1)
        If  x_c = ""
            x_c = ar(0)
        ElseIf  x_c =ar(0) And c=nms.length -1
            k=k+1
            Sheet.MergeCell(0,c-k,1,k+1)
        ElseIf x_c =ar(0)  And c<>nms.length -1
             k=k+1
        ElseIf  x_c <>ar(0) 
            Sheet.MergeCell(0,c-k-1,1,k+1)
            x_c =ar(0)
            k=0
        End If
      End If
2、合并后的单元格,文本如何居中显示啊?
[此贴子已经被作者于2021/12/7 10:27:21编辑过]

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


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

Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim nms() As String = {"aa_01","aa_o2", "aaaaa", "cc_00", "bb_01", "bb_02", "bb_03", "mmmmm", "dd_02"}
Dim t As String = "aa"
Dim idx As Integer = 0
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.AlignHorz = XLS.AlignHorzEnum.Center

For i As Integer = 0 To nms.Length - 1
    Dim ss() As String = nms(i).Split("_")
    Sheet(0, i).Value = ss(0)
    If ss.Length > 1 Then
        Sheet(1, i).Value = ss(1)
    End If
    If t <> ss(0) Then
        If i - idx <> 1
            Sheet.MergeCell(0,idx,1,i - idx)
            Sheet(0,idx).style = Style
        End If
        t = ss(0)
        idx = i
    End If
Next
Book.Save("D:\test.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "D:\test.xls"
Proc.Start()

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2021/12/7 11:03:00 [只看该作者]

  加上是否是循环到末尾,就完善了。否则,最后一组可以合并的话,就合并不了了。

 If t <> ar(0)  And c<>nms.length -1
        If c - idx <> 1
            Sheet.MergeCell(0,idx,1,c - idx)
            Sheet(0,idx).style = Style
        End If
        t = ar(0)
        idx = c
ElseIf  c=nms.length -1 And c - idx <> 1
            Sheet.MergeCell(0,idx,1,c - idx+1)
            Sheet(0,idx).style = Style
End If

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