Foxtable(狐表)用户栏目专家坐堂 → 将数据表导出为txt文本


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

主题:将数据表导出为txt文本

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
将数据表导出为txt文本  发帖心情 Post By:2021/7/9 11:41:00 [只看该作者]

将数据表导出为txt文本

狐表代码:
Dim cmd As new S QLCommand
cmd.Connectio nName = "kj222"
cmd.Comma ndText = "LINK" 
cmd.StoredPr ocedure = True '表示CommandText内容不是标准的SQL语句,而是存储过程名
cmd.Parameters.Add("@MKCODE ","10010")
cmd.Parameters.Add("@ADDRESS ","D:\persionLoaction\Data")
cmd.Parameters.Add("@flag ","1")
Dim dt As DataTable = cmd.ExecuteReader

怎么没有将指定的文件保存到指定的目录下呢?




存储过程语句:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:link.zip



[此贴子已经被作者于2021/7/9 11:42:28编辑过]

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


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

表格导出txt参考

Dim s As String
For Each dc As DataCol In DataTables("表A").DataCols
    s = s & vbtab & dc.Name
Next
s = s.TrimStart(vbtab)
FileSys.WriteAllText("D:\问题\表A.txt",s & vbcrlf,False)

For Each dr As DataRow In DataTables("表A").DataRows
    s = ""
    For Each dc As DataCol In DataTables("表A").DataCols
        If s > "" Then s = s & vbtab
        If dr.IsNull(dc.Name) = False Then
            s = s & dr(dc.Name)
        End If
    Next
    FileSys.WriteAllText("D:\问题\表A.txt",s & vbcrlf ,True)
Next

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)表格导出txt参考Dim s As StringFor ...  发帖心情 Post By:2021/7/9 14:51:00 [只看该作者]

再麻烦老师一下   如果只导出指定的第一列  第二列 第三列的值怎么操作呢?


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


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

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}

    For Each dc As DataCol In DataTables("表A").DataCols
改为遍历上面数组

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)Dim Cols1() As String&nb...  发帖心情 Post By:2021/7/9 15:15:00 [只看该作者]

当前代码如下:  生成的效果不大理想   麻烦老师继续指导下  谢谢!

Dim Cols1() As String = {"vc_Code","vc_Name","AreaID"}
Dim s As String
s=Date.now() & vbcrlf
For i As Integer = 0 To Cols1.Length -1
    s = s & vbtab
    s = s & Cols1(i)
Next
s = s.TrimStart(vbtab)
FileSys.WriteAllText("D:\问题\表A.txt",s & vbcrlf,False)

For Each dr As DataRow In DataTables("m_Localizer").DataRows
    s = ""
    For i As Integer = 0 To Cols1.Length -1
        If s > "" Then s = s & vbtab
        If dr.IsNull(Cols1(i)) = False Then
            s = s & dr(Cols1(i)) & ","
        End If
    Next
s = s.TrimStart(vbtab)
    FileSys.WriteAllText("D:\问题\表A.txt", s & vbcrlf , True, Encoding.Default)
Next

生成文本如下:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

效果不理想:
想实现如下效果:

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


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


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

去掉逗号,不要画蛇添足。

如果要使用逗号分隔,把代码里的vbtab改为逗号

 回到顶部