【xlwings api语言参考】Worksheet.Application 属性

xlwings API:Worksheet.Application属性详解
xlwings的Worksheet.Application属性用于获取Excel应用程序对象,无论是单独使用还是结合对象使用。该属性为只读,可用于与OLE自动化对象交互,展示创建指定对象的应用程序信息。示例中展示了如何利用该属性显示创建myObject的应用程序消息。

功能:
如果不与对象限定符一起使用,则此属性返回一个 Application 对象,该对象表示Microsoft Excel应用程序。

如果与对象识别符一起使用,则此属性返回代表指定对象的创建者的 Application 对象(可以将此属性与 OLE 自动化对象一起使用以返回该对象的应用程序)。 只读。

语法:
ws.Application
ws是一个代表 Worksheet 对象的变量。

示例:
本示例显示一条有关创建 myObject 的应用程序的消息。

import xlwings as xw
app=xw.App()
bk=app.books.active
sht=bk.sheets.active
print(sht
from sqlalchemy import create_engine from win32com.client import Dispatch, DispatchEx import pythoncom from PIL import ImageGrab, Image import uuid import pandas as pd import os import xlwings as xw class Excel: def __init__(self, engine): self.engine = engine # 查询数据库,新建excel保存 def save_excel(self, sql, savename, sheetname): # 查询简称 df = pd.read_sql(sql, self.engine, index_col='id') # 校验地址是否已存在 if not os.path.exists(os.path.dirname(savename)): os.makedirs(os.path.dirname(savename)) app = xw.App(visible=False, add_book=False) if os.path.exists(savename): workbook = app.books.open(savename) print('存在文件,打开文件!!') else: workbook = app.books.add() print('不存在文件,创建文件!!') sheet_names = [j.name for j in workbook.sheets] # 获取打开的工作簿中所有工作表的名称 if sheetname not in sheet_names: worksheet = workbook.sheets.add(sheetname) else: workbook.sheets.add('a') workbook.sheets[sheetname].delete() worksheet = workbook.sheets.add(sheetname) workbook.sheets['a'].delete() if 'Sheet1' in sheet_names: workbook.sheets['Sheet1'].delete() worksheet.range('a:az').api.NumberFormat = '@' worksheet.range('A1').value = df # worksheet['A1'].value = '序号' worksheet.range('a:az').api.font.size = 11 worksheet.range('a:az').api.font.name = "微软雅黑" worksheet.range('a:az').api.NumberFormat = '@' worksheet.autofit(axis='columns') worksheet.range('a:az').row_height = 24 worksheet.range('a:az').api.HorizontalAlignment = -4108 worksheet.range('a:az').api.VerticalAlignment = -4108 workbook.save(savename) workbook.close() app.kill() print("%s已完成" % savename) # 将数据插入excel指定行和列 def insert_excel(self, sql, filename, sheetname, range, savename): app = xw.App(visible=False, add_book=False) wb = app.books.open(filename) ws = wb.sheets[sheetname] df = pd.read_sql(sql, self.engine, index_col=None, parse_dates=None) df.index += 1 ws.range(range).value = df ws[range].value = '序号' # 校验地址是否已存在 if not os.path.exists(os.path.dirname(savename)): os.makedirs(os.path.dirname(savename)) if os.path.exists(savename): os.remove(savename) wb.save(savename) wb.close() app.kill() print("%s已完成" % savename) # excel截图 def excel_catch_screen(self, filename, sheetname, screen_area, img_name): if os.path.exists(img_name + ".PNG"): os.remove(img_name + ".PNG") # 对excel的表格区域进行截图——用例:excel_catch_screen(ur"D:\Desktop\123.xlsx", "Sheet1", "A1:J10") excel = DispatchEx("ket.Application") # 启动excel excel.Visible = True # 可视化 excel.DisplayAlerts = False # 是否显示警告 wb = excel.Workbooks.Open(filename) # 打开excel ws = wb.Sheets(sheetname) # 选择sheet ws.Range(screen_area).CopyPicture() # 复制图片区域 img = ImageGrab.grabclipboard() # 获取剪贴板的图片数据 img.save(img_name + ".PNG") # 保存图片 wb.Close(SaveChanges=0) # 关闭工作薄,不保存 excel.Quit() # 退出excel del excel print("%s.png已完成" % img_name)
06-04
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DataLab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值