以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]Excel报表中替换问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125485) |
|
-- 作者:积水成渊 -- 发布时间:2018/9/29 10:35:00 -- [求助]Excel报表中替换问题 需要做一个报表,报表的模板写了,其中报表的一个单元格内容为:本月总共参加会议的人数<人数>,现在我需要做的功能就是将<人数>替换。查了写资料写了如下代码 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "Attachments\\测试.xlsx") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.UsedRange For Each dr As DataRow In DataTables("表A").DataRows Dim s As String s ="<" & dr("项目信息") & ">" rg.Replace(What:=s, Replacement:=dr("值")) Next app.visible = True 功能是实现了,但是却在弹出报表前报错了,这里是不是可以先判断下条件,该怎么进行修改 问题2,通过广论坛发现一个类似的报表替换例子:
|
|
-- 作者:积水成渊 -- 发布时间:2018/9/29 10:52:00 -- 奇怪,我重新设置了一个报表,同样的代码,这次没有报错了 |
|
-- 作者:有点蓝 -- 发布时间:2018/9/29 10:53:00 -- 弹出报表前报什么错? 应该改生成后的报表,而不是改模板吧 Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "reports\\测试.xlsx")
|
|
-- 作者:积水成渊 -- 发布时间:2018/9/29 10:54:00 -- 上传下例子,或许可以方便别人 |
|
-- 作者:积水成渊 -- 发布时间:2018/9/29 10:55:00 -- 是的,这个是我没有考虑好的 |