Foxtable(狐表)用户栏目专家坐堂 → 请问在导出时能否选择所需要的列


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

主题:请问在导出时能否选择所需要的列

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
请问在导出时能否选择所需要的列  发帖心情 Post By:2017/12/10 22:25:00 [只看该作者]

请在要导出窗口中的Table表时,能不能可以选择需要导出的列?

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/12/10 22:49:00 [只看该作者]

注:不是要提前写好在代码里的,是想点导出时能出来一个对话框,可以选择需要导出的列。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/10 23:29:00 [只看该作者]


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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/12/11 15:50:00 [只看该作者]

老师,请问导出选择列的这个代码出来的是要导出的表的表列的列名,列名设计数据库时都是用的拼音代表了,请问能用表的标题吗?
或是自己定义列名。

Dim lieming As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim s As String
  For Each c As Col In Tables("GXGL").cols
            s=s &"|"& c.Name
        Next
        lieming.ComboList=s

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/11 15:57:00 [只看该作者]

可以这样写,在最后打印的代码那里,也要对应略微修改代码。

 

Dim lieming As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim s As String
For Each c As Col In Tables("GXGL").cols
    s=s & "|" & c.caption & "(" & c.name & ")"
Next
lieming.ComboList=s


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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/12/11 16:43:00 [只看该作者]

老师我这是选择后按选择的列导出EXCEL表,我最早的导出的按钮代码如下,现在已经不能用了。

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Tables("gxms").SaveExcel(dlg.FileName, "基础个性资料信息表")  '保存文件
    MessageBox.show("导出成功")
End If

参考帮助说明,提示在表中找不到对应的列。
Dim ckl As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim nms As New List(of String)
For i As Integer = 0 To ckl.Items.count - 1 '获取已经勾选的列
    If ckl.GetItemChecked(i) Then
        nms.Add(ckl.Items(i))
    End If
Next
看意思是应该在这一步写代码做转换,不知道该 怎么操作。请老师指导。
-----------------------------------------------------------------------------------------

If nms.Count = 0 Then
    MessageBox.Show("至少要选择一列","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If 
'生成Excel表
Dim dt As Table = Tables("GXGL")
Dim Book As New XLS.Book 
Dim Sheet As XLS.Sheet = Book.Sheets(0) 
For i As Integer = 0 To nms.count -1
    Sheet(0, i).Value = nms(i)
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For i As Integer = 0 To nms.count -1
        Sheet(r + 1, i).Value = dt.rows(r)(nms(i))
    Next
Next 
'保存并打开excel文件
Book.Save("c:\reports\test.xls")
Dim Proc As New Process
Proc.File = "c:\reports\test.xls"
Proc.Start()



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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/11 17:45:00 [只看该作者]

Dim ckl As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim nms As New List(of String)
For i As Integer = 0 To ckl.Items.count - 1 '获取已经勾选的列
    If ckl.GetItemChecked(i) Then
        nms.Add(ckl.Items(i).split("(")(1).replace(")","")) '这里对应5楼的用法进行解析
    End If
Next
[此贴子已经被作者于2017/12/11 20:36:39编辑过]

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/12/11 18:22:00 [只看该作者]

老师,出现了运行错误窗口,内容"索引起出了数组界限"的提示。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/11 18:57:00 [只看该作者]

以下是引用hopestarxia在2017/12/11 18:22:00的发言:
老师,出现了运行错误窗口,内容"索引起出了数组界限"的提示。

 

做个实例发上来测试下。


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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/12/11 20:06:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:系统管理.rar


老师附件已上传;
软件版本:开发版最新版,数据库SQL2005,

问题所在:软件窗口(货品列表),打开后点上面的“导出”按钮,想选择列后导出到EXCEL,结果在“导出选择”的窗口上的"导出“按钮那里报错了。,

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