Foxtable(狐表)用户栏目专家坐堂 → excel报表根据单元格内容触发其他单元格


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

主题:excel报表根据单元格内容触发其他单元格

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/8 9:07:00 [显示全部帖子]

先生成报表,然后使用代码判断单元格的长度,再拆分。

execl文件的处理可以看看

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/8 9:48:00 [显示全部帖子]

Sheet(i,2).value = xxx
或者
dim m as integer = 2
Sheet(i,m).value = xxx

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/8 10:34:00 [显示全部帖子]

Dim Book As New XLS.Book(ProjectPath & "Attachments\出库单.xls")
Dim
 fl As String = ProjectPath & "Reports\出库单.xls"
Book
.Build() '生成细节区

Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim i As Integer = Sheet.Rows.Count
For m As Integer = 5 To i
    Dim s As String = Sheet(m, 4).Value
    If s.Length > 10 Then
    Dim Values() As String
Values = s.split(",")
msgbox(Values.Length)
For k As Integer = 0 To Values.Length -1
    Sheet(m, k+11).Value = Values(k)
Next
Sheet(m, 4).Value = "见附件管号一览表"
End If
Next

Book
.Save(fl) '保存工作簿
Dim
 Proc As New Process '打开工作簿
Proc
.File = fl
Proc
.Start()

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/8 10:43:00 [显示全部帖子]

文件路径不正确,或者不存在

Dim Book As New XLS.Book(ProjectPath & "Attachments\出库单.xls")
Dim
 fl As String = ProjectPath & "Reports\出库单.xls"

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/8 10:45:00 [显示全部帖子]

'''
Dim Book As New XLS.Book(ProjectPath & "Attachments\ylgg.xlsx")
Dim fl As String = ProjectPath & "Reports\ylgg.xlsx"
Book.Build() '生成细节区
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim i As Integer = Sheet.Rows.Count
For m As Integer = 5 To i
    Dim s As String = Sheet(m, 4).Value
    If s.Length > 10 Then
    Dim Values() As String
Values = s.split(",")
For k As Integer = 11 To Values.Length + 10
    Sheet(m, k).Value = Values(k - 11)
Next
Sheet(m, 4).Value = "见附件管号一览表"
End If
Next
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿Proc.File = fl
Proc.Start()

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/8 11:16:00 [显示全部帖子]

那就是可能有其它符号,或者不是中文逗号

 回到顶部