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


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

主题:关于文件导出的问题

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
关于文件导出的问题  发帖心情 Post By:2024/12/30 9:01:00 [显示全部帖子]

老师好,关于文件导出代码出现不了想要的结果,请老师看看代码问题出在哪儿,具体问题描述见压缩文件, 谢谢老师
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于文件导出问题.zip


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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 9:44:00 [显示全部帖子]

老师好,也就是是说报表编程中的导出数据支持临时表导出数据吗?

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 10:05:00 [显示全部帖子]

谢谢老师,我试试

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 14:05:00 [显示全部帖子]

老师好,还是实现不了所需的目的,具体情况还是和上午提的一样,我把上午的问题(压缩文件)再发过去,下面是我写的导出数据代码,还是解决不了,请老师看看代码的问题
Dim LK As WinForm.CheckedListBox = e.Form.Controls("lbk")
Dim bms() As String = {"全隐框玻璃幕墙单价分析表", "全明框玻璃幕墙单价分析表", "半明半隐框玻璃幕墙单价分析表"}

For Each bm As String In bms
    
    Dim dlg As New SaveFileDialog
    dlg.filter = "Excel文件|*.xls|Access文件|*.mdb"
    dlg.OverwritePrompt = True '弹出覆盖警告
    If dlg.ShowDialog = DialogResult.OK Then
        
        Dim Book As New XLS.Book("dlg.filter")
         MessageBox.Show(1)
        '定义工作表
        
        Book.Sheets.Add("& bm &") '增加一个工作表
        Dim Sheet As XLS.Sheet = Book.Sheets("bm")
         MessageBox.Show(2)
        
        Dim nms() As String = {"序号", "项目构成", "单位", "用量", "单价", "合价", "备注"}
        If DataTables.Contains(bm) = False Then
            
            Dim cmd As New SQLCommand
            'cmd.C
            
            If e.Form.Controls("导出理论数据").Checked = True Then
                cmd.CommandText = "s   elect 序号,项目构成,单位,用量 as 理论用量 ,单价 as 理论单价,合价 as 理论合价,备注  from {" & bm & "}" '该行代码不能加主键,否则出错
                
            Else If e.Form.Controls("导出投标数据").Checked = True Then
                cmd.CommandText = "s   elect 序号,项目构成,单位,报价调整1 as 投标用量,报价调整2 as 投标单价,报价调整3 as 投标合价  ,备注  from {" & bm & "}" '该行代码不能加主键,否则出错   
                
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于文件导出问题.zip

            End If
            
            Dim dt As DataTable = cmd.ExecuteReader()
             MessageBox.Show(3)
            '        Dim Sheet As XLS.Sheet = Book.Sheets(0)
            '        Dim Style As Xls.Style = Book.NewStyle
            '        Style.BackColor = Color.Red
            For c As Integer = 0 To nms.Count - 1
                Sheet(0, c).Value = nms(c)
            Next
             MessageBox.Show(4)
            For r As Integer = 0 To dt.DataRows.Count - 1
                For c As Integer = 0 To nms.Count - 1
                    Sheet(r + 1, c).Value = dt.DataRows(r)(nms(c))
                Next
            Next
            
        End If
         MessageBox.Show(5)
        
        
        '打开工作簿
        Book.Save("dlg.filter")
        Dim Proc As New Process
        Proc.File = "dlg.filter"
        Proc.Start()
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 14:28:00 [显示全部帖子]

老师好,在报表这块代码就是实现不了想要的功能,我有点迷惘,写不出来,老师说我重点再学一下基础的哪一部分,基础我也学了好多次,还是写出来的代码实现不了功能,请老师点拨一下,谢谢老师

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 14:56:00 [显示全部帖子]

谢谢老师

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 15:02:00 [显示全部帖子]

老师好,我刚才用老师的代码试了一下,弹出保存文件对话框后,输入文件名,一点击保存后,就报错了,报错的内容为:未将对象引用设置到对象的实例。

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 15:22:00 [显示全部帖子]

老师好,您给我的代码,我进行了测试,就是给表赋值是有问题,    
For c As Integer = 0 To dt.DataCols.Count - 1
            Sheet(0, c).Value = dt.DataCols(c).Name
        Next
        For r As Integer = 0 To dt.DataRows.Count - 1
            For c As Integer = 0 To dt.DataCols.Count - 1
                Sheet(r + 1, c).Value = dt.DataRows(r)(dt.DataCols(c).Name)

就是到了这段代码时就报错,我用老师提供的MESSAGE.SHOW  一点一点测试的,就是到了这儿赋值了就报错,我也搞不懂,还得老师给看看啥原因  谢谢老师

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 16:19:00 [显示全部帖子]

Dim dlg As New SaveFileDialog
dlg.filter = "Excel文件|*.xls"
dlg.OverwritePrompt = True '弹出覆盖警告
If dlg.ShowDialog = DialogResult.OK Then
    Dim bms() As String = {"全隐框玻璃幕墙单价分析表", "全明框玻璃幕墙单价分析表", "半明半隐框玻璃幕墙单价分析表"}
  ..........  
谢谢老师,可以了,但是有一个小小的问题,就是上面的数组,它的值是根据窗口AfterLoad 事件中的代码动态生成的单价分析表,而不是固定的值,能不能用列表组合框的值代填写成下面的代码
Dim bms() As String = {"& bm &"}
lb.ComboList = bm也成功实现了该目的也成功实现了该目的

  
   

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


加好友 发短信
等级:幼狐 帖子:163 积分:1071 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2024/12/30 17:10:00 [显示全部帖子]

老师好, Dim bms() As String = {lk.SelectedValue} 我从列表框取值,可以是可以了,但是有一个小小的问题,就是多次执行导出文件时,好像有记忆功能,就比如说我点选其中一个值"全隐框玻璃幕墙单价分析表“,输出是正确的,但是当我再进入窗口,把“全明框玻璃幕墙单价分析表” 也选中时,执行导出任务,导出的还是"全隐框玻璃幕墙单价分析表“,就没有“全明框玻璃幕墙单价分析表”, 也不知咋操作,导出时,2个表都导出了,也不知是啥原因,反应慢还是啥造成的,这是啥造成的,谢谢老师指点迷津

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