Foxtable(狐表)用户栏目专家坐堂 → [求助]增加临时列ABCDE甚至到AA及ZZ


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

主题:[求助]增加临时列ABCDE甚至到AA及ZZ

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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/15 15:22:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/15 16:17:00 [显示全部帖子]

遍历execl表格第一行:http://www.foxtable.com/webhelp/topics/1156.htm

Dim Book As New XLS.Book
Dim
 Sheet As XLS.Sheet = Book.Sheets(0)
for i as ineger = 0 to Sheet.Cols..count - 1
msgbox(Sheet(0,i).text)

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


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

execl表格没有标题行?如果有直接取标题行做列名不就行了,搞那么多花样干啥。

如果没有标题行,建议按顺序使用A1、A2、A3这种列名,不要使用a、b、c...这种,处理起来麻烦死了

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


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

Address

获取单元格或单元格区域的地址。

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\问题\a.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
MessageBox.Show(Rg.Cells(1, 1).Address)
App.Quit

遍历的时候直接获取单元格的地址

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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/16 10:17:00 [显示全部帖子]

越说越糊涂,没看懂到底什么意思

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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/16 10:25:00 [显示全部帖子]

意思是表格的格式不是固定的,可能标题行在第一行,也有可能在第三行等,可能还有合并单元格什么的?这种没有办法判断。

如果标题行是固定的几行,比如就是第1~3行是标题行,那么这种还好办。至于列数是次要,遍历过去就行

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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/16 10:30:00 [显示全部帖子]

abc这些字母和数字对应很简单啊,用数组即可

dim sr() as string = {"a","b","c",...}

如果要使用编码转换,数字97~122就是小写字母
For i As Integer = 97 To 122
    Output.Show(Chr(i))
Next 

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


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

使用2个数组不就行了

Dim sr() As String = {"", "A", "B", "C", "D"}
Dim sr2() As String = {"A", "B", "C", "D"}
Dim i1 As Integer = 0
Dim i2 As Integer = 0
Dim c As Integer = 15 '列数
For i As Integer = 0 To c
    If i2 >= sr2.Length Then
        i2 = 0
        i1 = i1 + 1
    End If
    Output.Show(sr(i1) & sr2(i2)) '生成列名
    i2 = i2 + 1
Next 

 回到顶部