def query_data1(self, query_str, table): # 清空表格内容 table.delete(*table.get_children()) # 获取查询条件 query_cols = [10, 1] # 遍历表格数据,找到符合条件的数据 for row in self.record_sheet.iter_rows(min_row=2, values_only=True): if any([str(row[col - 1]).startswith(query_str) for col in query_cols]): row_values = [str(cell) if cell is not None else "" for cell in row] table.insert("", tk.END, values=row_values)根據這個代碼再另寫一個函數將查詢的結果符合的内容下載為excel到當前電腦的桌面上
时间: 2024-02-14 13:17:51 浏览: 98
python 使用get_argument获取url query参数
可以根据上面的代码再编写一个函数来将符合查询条件的内容下载为Excel文件到当前电脑的桌面上。具体代码如下:
```python
import openpyxl
import os
from datetime import datetime
def download_excel(self, query_str):
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
file_name = f"search_result_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx"
file_path = os.path.join(desktop_path, file_name)
# 创建一个新的Excel文件
workbook = openpyxl.Workbook()
sheet = workbook.active
# 添加表头
headers = ["Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10"]
sheet.append(headers)
# 查询符合条件的数据并添加到Excel文件中
query_cols = [10, 1]
for row in self.record_sheet.iter_rows(min_row=2, values_only=True):
if any([str(row[col - 1]).startswith(query_str) for col in query_cols]):
row_values = [str(cell) if cell is not None else "" for cell in row]
sheet.append(row_values)
# 保存Excel文件
workbook.save(file_path)
# 提示用户下载成功
self.display_message(f"下载成功:{file_path}")
```
需要注意的是,这里的代码假设Excel文件中的第一行为表头,列数为10列。如果实际情况与此不符,需要根据实际情况修改代码。此外,下载成功后会在界面上提示用户下载成功,并显示下载文件的路径。
阅读全文