Foxtable(狐表)用户栏目专家坐堂 → 导出数据


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

主题:导出数据

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
导出数据  发帖心情 Post By:2017/10/16 13:07:00 [显示全部帖子]

老师,我设置了一个导出数据按钮,另外设置了一个复选框,用来选择需要导出的列,怎么实现导出的数据就是我选择的列的数据(列宽可以不控制,直接用原来列宽),另外我导出后行高和边框线也没有。

上传了示例麻烦老师看看。

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

[此贴子已经被作者于2017/10/16 13:10:19编辑过]

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/16 16:17:00 [显示全部帖子]

老师,这样出来是根据字体大小来调整行高的,怎么用原来数据表里面的行高和字体大小?还有就是复选框选项怎么循环列自动生成选项(比如选项为表A的所有列),导出数据是根据选择的列来导出的。

我直接用系统的导出,截图一,字体大小、行高都原来大小,只是不能动态选择要导出的列。

 


图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/10/16 16:25:41编辑过]

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/16 16:31:00 [显示全部帖子]

可能我阐述不清楚,我希望直接导出,或是直接用系统的导出命令Syscmd.Project.ExportToExcel(),在其中增加一个自定义需要导出列的复选组合框来选择需要导出的列。

[此贴子已经被作者于2017/10/16 16:42:20编辑过]

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/17 9:26:00 [显示全部帖子]

老师:CheckedComboBox1的enter代码怎么写?

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/17 9:53:00 [显示全部帖子]

老师,有点蓝老师的那种方式,直接把表里面的列隐藏了在导出的,导出后,数据表里需要取消隐藏,其他列才显示,还有没其他方式呢?

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/17 10:03:00 [显示全部帖子]

以下是引用有点甜在2017/10/17 9:56:00的发言:

Dim ccb As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim ws As String =  Tables("表A").getColVisibleWidth
If ccb.Text > "" Then
    Dim lst As new List(of String)
    lst.AddRange(ccb.Text.Split(","))
    For Each c As Col In Tables("表A").Cols
        c.Visible = lst.Contains(c.Name)
    Next
End If
Dim flg As New  SaveExcelFlags
flg.RowNumber = True
flg.CellStyle = True
flg.VisibleOnly = True
Tables("表A").SaveExcel("f:\123.xls","表A",flg)

Tables("表A").SetColVisibleWidth(ws)
Dim Proc As New Process
Proc.File = "f:\123.xls"
Proc.Start()


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171017100146.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/17 10:33:00 [显示全部帖子]

麻烦老师在看一下,这样导出来没有数据呢

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"
Dim ccb As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim ws As String =  Tables("表A").getColVisibleWidth
If ccb.Text > "" Then
    Dim lst As new List(of String)
    lst.AddRange(ccb.Text.Split(","))
    For Each c As Col In Tables("表A").Cols
        c.Visible = lst.Contains(c.Name)
    Next
End If

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


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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/17 11:06:00 [显示全部帖子]

我是自定义存储路径和名称

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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/23 14:19:00 [显示全部帖子]

以下是引用有点甜在2017/10/17 9:32:00的发言:
e.sender.Items.Clear
For Each c As Col In Tables("表A").Cols
    e.sender.Items.add(c.name)
Next

老师,选择列后,怎么判断我是否点击了确定或是取消,点击确定直接就导出选择的列,这儿该怎么处理。


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


加好友 发短信
等级:狐精 帖子:3096 积分:20666 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/10/23 15:46:00 [显示全部帖子]

以下是引用有点甜在2017/10/23 15:02:00的发言:
看你TextChanged是否触发,如果触发了,就是【确定】。

老师,代码如下,我选择了NO,多执行了一次MessageBox,需要在点一次NO才行,哪儿有问题?

Dim Result As DialogResult
Result = MessageBox.Show("你确定导出选择数据列的数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes  Then
    Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
    dlg.Filter= "Excel文件|*.xls" '设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then
        Dim ccb As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
        Dim ws As String =  Tables("表A").getColVisibleWidth
        If ccb.Text > "" Then
            Dim lst As new List(of String)
            lst.AddRange(ccb.Text.Split(","))
            For Each c As Col In Tables("表A").Cols
                c.Visible = lst.Contains(c.Name)
            Next
        End If
        Dim flg As New  SaveExcelFlags
        flg.RowNumber = True
        flg.CellStyle = True
        flg.VisibleOnly = True
        Tables("表A").SaveExcel(dlg.FileName,"表A",flg)
        Tables("表A").SetColVisibleWidth(ws)
        Dim Proc As New Process
        Proc.File = dlg.FileName
        Proc.Start()
    End If
Else
    Dim sbxh As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
    sbxh.Value =""
End If

 

问题就是我在复选框点击确定,MessageBox弹出之前,已经写入值,所以多弹出了一次MessageBox,能否点击复选框确定不写入或是其他处理方式,点击MessageBox确定时在写执行CheckedComboBox1。

[此贴子已经被作者于2017/10/23 16:04:54编辑过]

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