Foxtable(狐表)用户栏目专家坐堂 → 关于导出Excel问题


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

主题:关于导出Excel问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/9 20:47:00 [显示全部帖子]

方法1、这种方式导:http://www.foxtable.com/webhelp/topics/1148.htm,可以随意设置格式和数据
2、导出后使用代码替换
Dim Book As New XLS.Book("D:\问题\111.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 1 To Sheet.Rows.Count -1
    If Sheet(n,5).Text = "1" '假设逻辑列是第6列
        Sheet(n,5).Value = "是"
    Else
        Sheet(n,5).Value = "否"
    End If
Next
Book.Save("D:\问题\111.xls")

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/9 21:19:00 [显示全部帖子]

遍历table的列判断哪一个是逻辑列:http://www.foxtable.com/webhelp/topics/0561.htm

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/9 22:39:00 [显示全部帖子]

判断table,不是datatable

下表是Col的常用属性:

属性名说明
Name返回列的名称
Index返回列的位置

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/9 23:18:00 [显示全部帖子]

导出前,调用到SaveExcel的时候,显示的列和列的顺序肯定是固定的

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/10 8:18:00 [显示全部帖子]

                For Each s As String In lieming.value.split(",")
                    post.cols(s).Visible = True
                Next
            End If
            post.SaveExcel(dlg.FileName, "fa piao库存资料表")
dim idx as integer = -1
For Each dc As Col In post.cols
    If dc.name = "是否填开" Then
    idx = dc.index
exit for
    End If
Next
Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 1 To Sheet.Rows.Count -1
    If Sheet(n,idx ).Text = "1" '假设逻辑列是第6列
        Sheet(n,idx ).Value = "是"
    Else
        Sheet(n,idx ).Value = "否"
    End If
Next
Book.Save(dlg.FileName)
            post.SetColVisibleWidth(str)                   
        End If
    End If
End If
e.Form.Close

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/12 16:15:00 [显示全部帖子]

哪一句代码出错?调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/12 16:43:00 [显示全部帖子]

dim idx as integer = -1
For Each dc As Col In post.cols
    If dc.name = "是否填开" Then
    idx = dc.index
exit for
    End If
Next
改为
Dim idx As Integer = -1
For i As Integer = 0 To post.cols.count - 1
    Dim dc As Col = post.cols(i)
    If dc.Visible Then idx += 1
    If dc.name = "是否填开" Then
        Exit For
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/12 17:33:00 [显示全部帖子]

自己判断如果不包含这个逻辑列就不要进行for循环了:http://www.foxtable.com/webhelp/topics/0561.htm

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/12 17:47:00 [显示全部帖子]

Dim idx As Integer = -1
For i As Integer = 0 To post.cols.count - 1
    Dim dc As Col = post.cols(i)
    If dc.Visible Then idx += 1
    If dc.name = "是否填开" Then
if dc.Visible =false then idx = -1
        Exit For
    End If
Next
if dx > -1
Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 1 To Sheet.Rows.Count -1
    If Sheet(n,idx ).Text = "1" '假设逻辑列是第6列
        Sheet(n,idx ).Value = "是"
    Else
        Sheet(n,idx ).Value = "否"
    End If
Next
endif

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


加好友 发短信
等级:超级版主 帖子:110763 积分:563747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/13 8:28:00 [显示全部帖子]

请上传实例测试

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