以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]我这段代码是查找excel中标签的但是执行不进去呀  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=131590)

--  作者:a937775799
--  发布时间:2019/3/1 22:50:00
--  [求助]我这段代码是查找excel中标签的但是执行不进去呀
 Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim ii As Integer = 0 
Dim Rg As MSExcel.Range
Dim rn As Integer = 1
For rn = 1 To 100
    For j As Integer = 1 To 100
        Rg = Ws.Cells(rn,j)

        If Rg.text = "<End>"   
            ii = ii + 1
            MessageBox.Show(ii)
        End If
        If ii=2
            Exit For
        End If
    Next
    If ii=2
        Exit For
    End If
Next
Ws.Rows(rn+1).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual

以上代码 ii根本执行不进去,执行一次 要几分钟,清帮我看看 谢谢

--  作者:有点蓝
--  发布时间:2019/3/1 23:00:00
--  
execl文件发上来测试
--  作者:a937775799
--  发布时间:2019/3/1 23:12:00
--  
顺便帮我看看 里面红色的代码 计算table里面的数量这样写 对吗
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:混凝土灌注桩(钢筋笼)检验批.xls


--  作者:有点蓝
--  发布时间:2019/3/2 8:57:00
--  
没看懂您要计算什么?分页?生成报表后是不会有任何设计时模板的标签的,比如<End>是不存在的。

如果要计算合计,应该在Foxtable的表格里计算,然后通过变量绑定:http://www.foxtable.com/webhelp/scr/1391.htm

上传生成之后的报表,并标注一下要什么效果

--  作者:a937775799
--  发布时间:2019/3/2 9:55:00
--  
我好像发现问题了,早上一起来就发现,昨天搞得太晚进了死胡同,没反应过来
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'代码
 Dim Book As New XLS.Book(mb)  \'\'模版文件
Book.Build() \'生成细节区 
Dim fl As String = tf \'\'临时报表文件
Book.Save(fl) \'保存文件
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
fl是已经通过模板生产好的文件里面是不存在<End>的,所以上面代码是没用的,
。。。我想实现这样的功能,比如通过模板生产文件A1.xls.。。。。A100.xsl,每生产一个文件A*.xls导入到一个Aall.xsl总文件,每次导入都在之前的后面一页插入,
导入结束,用Aall.xsl生产pdf文件
[此贴子已经被作者于2019/3/2 9:55:38编辑过]

--  作者:有点蓝
--  发布时间:2019/3/2 9:58:00
--  
那么为什么不通过模板直接生成一个文件?而是生成100个文件再合并为一个?
--  作者:a937775799
--  发布时间:2019/3/2 10:28:00
--  
因为我 记录和模板 是多对多的关系, 我先要查询记录,然后选择需要打印的模板,而且查询出来的记录不一定都要打, 
我只能一个记录一个模板 组合起来 生产文件 在插入一个总文件

--  作者:有点蓝
--  发布时间:2019/3/2 11:12:00
--  
合并不同的Excel到同一个工作薄
Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    Dim App As New MSExcel.Application
    try
        Dim Wb As MSExcel.Workbook = App.WorkBooks.open("f:\\test.xls")
        Dim ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
        Dim rg As MSExcel.Range  = ws.Cells(ws .UsedRange.Rows.Count+1,1)
        app.DisplayAlerts = False
        Dim Wb2 As MSExcel.Workbook
        For Each file As String In dlg.FileNames
            Wb2 = App.WorkBooks.open(file)
            
            Dim Ws2 As MSExcel.WorkSheet = Wb2.WorkSheets(1)
            Dim Rg2 As MSExcel.Range = Ws2.UsedRange
            rg2.Copy
            rg.PasteSpecial()
            rg = ws.Cells(ws .UsedRange.Rows.Count+1,1)
            Wb2.Close
        Next
        Wb.Save
        Wb.Close
        App.Quit
    catch ex As Exception
        App.Quit
    End try
End If

--  作者:a937775799
--  发布时间:2019/3/2 11:36:00
--  
我去试下,顺便问问,怎么后台新建一个excel文档呢
--  作者:有点蓝
--  发布时间:2019/3/2 11:58:00
--  
参考:http://www.foxtable.com/webhelp/scr/2121.htm

创建新的工作簿。如下面的代码,就将新建一个工作簿,该工作簿的第一个工作表的名称改为hhh,同时在A1单元格写入“hhh123”,然后保存为D:\\123.xls。

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Add
Wb.WorkSheets(1).name = "hhh"
Wb.WorkSheets(1).range("A1").Value = "hhh123"
Wb.SaveAs("d:\\123.xls")
App.Quit

需要说明的是,在创建新工作簿后,该工作簿就成为活动工作簿。