以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于excel报表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100727)

--  作者:yjf123
--  发布时间:2017/5/17 14:27:00
--  关于excel报表

关于excel报表,关于”报表模版复用“ 需要代码修改表名称,

但是由于打印模板有用户自己设计,没办法确定表名称的位置,怎么处理呢?

能否遍历所有单元格,把包含表名称的都统一修改呢?


--  作者:有点色
--  发布时间:2017/5/17 14:43:00
--  

 循环所有单元格,把以<[开头,以>]结束的内容取出,判断是否有你的表名,如果有,就替换成新的表名。

 

 


--  作者:yjf123
--  发布时间:2017/5/17 16:38:00
--  
就是要这个代码了,怎么写
--  作者:有点色
--  发布时间:2017/5/17 17:02:00
--  
Dim Book As New XLS.Book("g:\\test.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 0 To Sheet.Rows.Count-1
    For m As Integer = 0 To sheet.Cols.Count-1
        Dim str As String = Sheet(n,m).Text
        If str.StartsWith("<") OrElse str.StartsWith("[") AndAlso str.EndsWith(">") OrElse str.EndsWith("]") Then
            Sheet(n,m).value = str.Replace("表A", "表B")
        End If
    Next
Next
book.save("g:\\test123.xls")