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


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

主题:关于导出Excel问题

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
关于导出Excel问题  发帖心情 Post By:2020/8/9 18:02:00 [显示全部帖子]

导出按钮代码如下?
Dim lieming As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If lieming.CheckedIndices.Count =0 Then
    msgbox("不能所有列都不选")
    Return
Else
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        If sjdcxzb="fa piao库存资料表" Then
            Dim post As Table = Tables("导出数据操作窗体_Table1")
            Dim str As String = post.getColVisibleWidth
            If lieming.value > "" Then
                For Each c As Col In post.Cols
                    c.visible = False
                Next
                For Each s As String In lieming.value.split(",")
                    post.cols(s).Visible = True
                Next
            End If
            post.SaveExcel(dlg.FileName, "fa piao库存资料表")
            post.SetColVisibleWidth(str)                   
        End If
    End If
End If
e.Form.Close



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


其中有一个逻辑值,导出前显示格式是:“是”与“否”导出Excel后显示格式为:“True”与“False” 怎么设置成显示格式为“是”与“否”呢?
[此贴子已经被作者于2020/8/9 18:02:47编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/9 21:13:00 [显示全部帖子]

 If Sheet(n,5).Text = "1" '假设逻辑列是第6列

蓝老师关键是逻辑列是一个动态的怎么获取呢?


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/9 21:41:00 [显示全部帖子]

For Each dc As DataCol In DataTables("表A").datacols
    If dc.name = "是否填开" Then
    ?怎么获取列位置呢?
    End If
Next


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/9 23:06:00 [显示全部帖子]


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

导出的列和列的顺序是动态的,这样的话如若导出的是所有列正常,如果不是所有列会报错的

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/9 23:25:00 [显示全部帖子]

数据表列数固定的,复选列表框CheckedListBox选择的列名和顺序是动态的,现在判断的是数据表中的列顺序,应该不对吧?是不是得判断“复选列表框”所选择的顺序吧

导出按钮代码如下:

Dim lieming As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If lieming.CheckedIndices.Count =0 Then
    msgbox("不能所有列都不选")
    Return
Else
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        If sjdcxzb="fa piao库存资料表" Then
            Dim post As Table = Tables("导出数据操作窗体_Table1")
            Dim str As String = post.getColVisibleWidth
            If lieming.value > "" Then
                For Each c As Col In post.Cols
                    c.visible = False
                Next
                For Each s As String In lieming.value.split(",")
                    post.cols(s).Visible = True
                Next
            End If
            post.SaveExcel(dlg.FileName, "fa piao库存资料表")
            post.SetColVisibleWidth(str)                   
        End If
    End If
End If
e.Form.Close

现在要实现的是如果导出的数据列包含“是否已填开”逻辑列,就将其显示格式设置为“是”或“否”,否则不设置
[此贴子已经被作者于2020/8/9 23:30:49编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/12 16:08:00 [显示全部帖子]

运行后弹出错误提示

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


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/12 16:24:00 [显示全部帖子]

刚才是字段少了一个字符,不过也行后“idx ”都是4呢?导出的数据,逻辑值不对

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


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/12 17:14:00 [显示全部帖子]

蓝老师运行后,发现以下错误

(1)如果导出的数据列不包括“是否已填开”列时会将其他列覆盖,
(2)“是否已填开”列只有“否”数据,

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


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

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


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



[此贴子已经被作者于2020/8/12 17:31:07编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/12 17:43:00 [显示全部帖子]

这句代码操作的不是Excel吧?怎么不包含该字段也执行呀?

就算包含也不对,好像只有逻辑列在最后,执行的列才对上号,其他的都不对,还有就是只有“是”数据,“否”数据没导出来
[此贴子已经被作者于2020/8/12 17:46:04编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/8/12 17:57:00 [显示全部帖子]

测试后和刚才一样

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


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