Xlwings读取全部数据

一个基础示例

完整示例

下面的代码段是本文Xlwings获取数据到Excel的完整初学示例。

def get_excel_all_data(path: str, input_sheet_name: str = "Sheet1"): """用于获取给定excel文件指定工作表全部数据到一个元组,请用一个元组变量进行接收 :param path: Excel文件路径 :param input_sheet_name: 工作表名 :return: 包含有整个excel数据的元组 """ # 文件不存在报错并退出 if not Path(path).exists(): print(f"{path}文件不存在!程序退出!") sys.exit(1) # 不新增工作簿 app = xw.App(visible=True, add_book=False) # 不显示Excel消息框 app.display_alerts = False # 关闭屏幕更新,可加快宏的执行速度 app.screen_updating = False # 工作簿打开时选择更新链接 wb = app.books.open(path, update_links=True) # 创建一个元组 list_value = () # 获取sheet个数 sheet_num = len(wb.sheets) # 在全部sheet名称范围内搜索传入sheet名字 global exist_res # 工作表是否存在判断, 该变量没有类型,不好 for i in range(0, sheet_num): # 获取第i个sheet名字 sht_list = wb.sheets[i].name # 匹配结果 result = re.search(input_sheet_name, sht_list) exist_res = False # 存在则进入该sheet if result is not None: # 设置活动表为找到的该表 act_sht = wb.sheets(input_sheet_name) # act_sht.api.ShowAllData() # 获取该sheet最后一个已用单元格所在行列 last_cell = act_sht.used_range.last_cell row = last_cell.row column = last_cell.column # 写入全部数据到元组中 try: list_value = act_sht.range((1, 1), (row, column)).value except Exception as e: print( f"您的数据表中存在显示为###或横线的无效数据,这些数据无法被读取!请修正这些数据!程序将退出!数据错误提示:\n{str(e)}" ) sys.exit(1) exist_res = True # 表存在,设置为True break if exist_res == False: print("不存在该表,请仔细核对表名!") app.quit() # 退出Excel应用 sys.exit(1) # 关闭工作簿 wb.close() # 退出应用 app.quit() return list_value

代码缺点

总结

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇