用VB如何高效读取EXCEL中所有的sheet名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用VB如何高效读取EXCEL中所有的sheet名称相关的知识,希望对你有一定的参考价值。

Dim i As Long
Dim lCount As Long
Dim dddd As String
lCount = XlsBook.Worksheets.Count
For i = 1 To lCount
dddd = XlsBook.Worksheets(i).Name '读取EXCEL中的sheet的名称

但是上面这种方法效率太低,因为我的EXCEL中有大量的sheet,有没有更高效的方法。谢谢
我指的是这行代码XlsBook.Worksheets(i).Name ,没有别的高效的函数了吗。不是指For 循环

参考技术A 不论用For Each还是For都是采用遍历的方法,已经是最高效的了,貌似没有其他办法了。 参考技术B 貌似你只能从sheets集合里遍历里面的所有对象。。 参考技术C Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
....
...
next
参考技术D 好像没有更好的办法。本回答被提问者采纳

使用openpyxl读取excel

读取excel

技术图片

 

import openpyxl
workbook = openpyxl.load_workbook("test.xlsx")
#通过文件名得到文件对象
sheet_name = workbook.get_sheet_by_name("Sheet1")
#通过名称得到工作簿对象
# rows_sheet = sheet_name.rows
#按行生成工作表中所有单元格对象,生成器类型
rows = [item.value for item in list(sheet_name.rows)[1]]
print(rows)
#第二行的内容
cols = [item.value for item in list(sheet_name.columns)[1]]
print(cols)
#第二列的内容
rows_sheet = sheet_name.iter_rows()
for item in rows_sheet:
    for call in item:
        print(call.coordinate, call.value)
#遍历所有内容
cell_1_2 = sheet_name.cell(row=1,column = 2).value
print(cell_1_2)
#查看第一行第二列的单元格内容
print(sheet_name.max_row,sheet_name.max_column)
#最大行、列

 写入excel

import openpyxl

workbook = openpyxl.Workbook()

sheet = workbook.active
‘‘‘
sheet[‘B3‘] = "hi,wwu"

workbook.save(‘new.xlsx‘)
#通过excel坐标直接写入对应的单元格
‘‘‘


title_excel = [username,password,age,sex]

for i in range(len(title_excel)):
    sheet.cell(row = 1, column = i+1).value = title_excel[i]
#通过行、列写入
workbook.save(new.xlsx)

 

以上是关于用VB如何高效读取EXCEL中所有的sheet名称的主要内容,如果未能解决你的问题,请参考以下文章

用vb.net如何读取excel单元格内容?

vb读取excel数据的教程

vb6.0编程用到flexcell控件,怎么将单元格合并,或者分开。

vb6操作excel的问题

请问如何获取excel所有sheet的名称?

MATLAB中读取excel数据