Foxtable(狐表)用户栏目专家坐堂 → 移动开发能像datach


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

主题:移动开发能像datach

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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14925 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/8/12 19:14:00 [只看该作者]

Case "list.htm"
        Dim  flt As  String
        Dim  cmd As new SQLCommand
        cmd.ConnectionName 
        Dim dr As DataRow = DataTables("用户").sqlfind("身份证号 = '" & e.Cookies("username") & "'")
Dim  nms() As String
Dim zds() As String
        If e.PostValues.ContainsKey("cjms") Then
            If e.postvalues("cjms") = "普通模式" Then
                nms = new String() {"考试名称","姓名","语文","数学","英语","政治","历史","生物","地理","物理","化学","总分","总分班序","总分校序"}
                zds = new String() {"考试名称","姓名","语文_语总","数学_数总","英语_英总","政治_政总","历史_历总","生物_","地理_","物理_物总","化学_化总","总分","总分班序","总分校序"}
                cmd.CommandText= "seect 考试名称,姓名,语文_语总,数学_数总,英语_英总,政治_政总,历史_历总,生物_,地理_,物理_物总,化学_化总,总分,总分班序,总分校序 From {成绩} order by 总分 where 班级全称 = '" & dr("班级") & "' and 单位名称 = '" & dr("group") & "' And 考试名称 =  '" & e.PostValues("ksmc") & "'"
            End If
            If e.postvalues("cjms") = "加试模式" Then
                 nms = new String() {"考试名称","姓名","语文A","语文B","数学A","数学B","英语A","英语B","政治A","政治B","历史A","历史B","生物","地理","物理A","物理B","化学A","化学B","折总","班序","校序"}
                 zds = new String() {"考试名称","姓名","语文_A","语文_B","数学_A","数学_B","英语_A","英语_B","政治_A","政治_B","历史_A","历史_B","生物_","地理_","物理_A","物理_B","化学_A","化学_B","折总","班序","校序"}
                cmd.CommandText= "seect 考试名称,姓名,语文_A,语文_B,数学_A,数学_B,英语_A,英语_B,政治_A,政治_B,历史_A,历史_B,生物_,地理_,物理_A,物理_B,化学_A,化学_B,折总,班序,校序 From {成绩} order by 折总 where 班级全称 = '" & dr("班级") & "' and 单位名称 = '" & dr("group") & "' And 考试名称 =  '" & e.PostValues("ksmc") & "'"
            End If
        End If
        Dim dt As DataTable = cmd.ExecuteReader
        Dim  Book As New XLS.Book
        Dim  Sheet As XLS.Sheet = Book.Sheets(0)
        For c As Integer = 0 To nms.Length - 1
            Sheet(0, c).Value = nms(c)
        Next
        For r As Integer = 0 To dt.DataRows.Count - 1
            For  c As Integer = 0 To zds.Length - 1
                Sheet(r + 1, c).Value = dt.Datarows(r)(zds(c))
            Next
        Next
        book.PreBuild = False  '非报表模请将PreBuild  属性设置为False
        e.WriteBook(book,"成绩.xls",True)
order by 这里为什么没对呢

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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14925 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/8/12 21:22:00 [只看该作者]

 Dim dt As DataTable = cmd.ExecuteReader
        Dim  Book As New XLS.Book
        Dim  Sheet As XLS.Sheet = Book.Sheets(0)
        For c As Integer = 0 To nms.Length - 1
            Sheet(0, c).Value = nms(c)
        Next
        For r As Integer = 0 To dt.DataRows.Count - 1
            For  c As Integer = 0 To zds.Length - 1
                Sheet(r + 1, c).Value = dt.Datarows(r)(zds(c))
            Next
        Next
        book.PreBuild = False  '非报表模请将PreBuild  属性设置为False
        e.WriteBook(book,"成绩.xls",True)
这样做了,在本机上测试可以打开成绩表,移到服务器在手机上测试没有错误提示,也没反应请问是什么原因,怎么办

 


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


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

试试

 

book.PreBuild = False  '非报表模请将PreBuild  属性设置为False
e.WriteBook(book,"成绩.xls",True)

return


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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14925 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/8/13 15:18:00 [只看该作者]

老师,加了return可以了,谢谢,现在我想在最后一行加上平均分计算

   Dim dt As DataTable = cmd.ExecuteReader
        Dim  Book As New XLS.Book
        Dim  Sheet As XLS.Sheet = Book.Sheets(0)
        For c As Integer = 0 To nms.Length - 1
            Sheet(0, c).Value = nms(c)
        Next
        For r As Integer = 0 To dt.DataRows.Count - 1
            For  c As Integer = 0 To zds.Length - 1
                Sheet(r + 1, c).Value = dt.Datarows(r)(zds(c))
            Next
        Next
        Dim h As Integer = dt.DataRows.count
        For c1 As Integer = 2 To dt.DataCols.count -3
            sheet(h+1,2).value = dt.compute("avg('" & zds(c1) & "')")
        Next
        book.PreBuild = False  '非报表模请将PreBuild  属性设置为False
        e.WriteBook(book,"成绩.xls",True)
        Return
       
       1、 红色这句不对呢,请问怎么写,2、另外每次确定都要下载一个成绩表且没履盖这样次数多后会占用空间,如何能履盖成绩表


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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14925 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/8/13 15:32:00 [只看该作者]

 Dim dt As DataTable = cmd.ExecuteReader
        Dim  Book As New XLS.Book
        Dim  Sheet As XLS.Sheet = Book.Sheets(0)
        For c As Integer = 0 To nms.Length - 1
            Sheet(0, c).Value = nms(c)
        Next
        For r As Integer = 0 To dt.DataRows.Count - 1
            For  c As Integer = 0 To zds.Length - 1
                Sheet(r + 1, c).Value = dt.Datarows(r)(zds(c))
            Next
        Next
        Dim h As Integer = dt.DataRows.count
        sheet(h+1,0).value="班级平均分"
        For c1 As Integer = 2 To dt.DataCols.count -3
            sheet(h+1,c1).value = dt.compute("avg(" & zds(c1) & ")")
        Next
        book.PreBuild = False  '非报表模请将PreBuild  属性设置为False
        e.WriteBook(book,"成绩.xls",False)
        Return
        红色这句改好了,还有就是为如提示保存为指导定文件并履盖呢?

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


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

1、这个意思?

 

sheet(h+1, c1).value = dt.compute("avg('" & zds(c1) & "')")

 

2、你说的空间,是手机上的空间还是服务器上的?手机上的,名称相同不是会覆盖么?


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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14925 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/8/13 16:08:00 [只看该作者]

我测试过,每下一次分别为成绩(1),第二次为成绩(2),这样会占手机空机,我的想法是可不可以做成在手机上用户自己选保存位置并能履盖,这样用户找文件方便些。另外如何合在代码中加何并EXCL的某些单元格呢

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


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

1、下载功能取决于浏览器本身,重命名是浏览器本身自动的;

 

2、你可以取名为 yyyy年mm月dd日成绩.xls,这样文件就不会重复了。


 回到顶部
总数 18 上一页 1 2