鱼C论坛

 找回密码
 立即注册
查看: 3255|回复: 2

[已解决]python如何通过windows文件对话框打开excel,并在指定单元格写入指定内容?

[复制链接]
发表于 2023-11-13 13:52:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python如何通过windows文件对话框打开excel,并在指定单元格写入指定内容?
用pyside6做了一个界面程序,完成一些命令后,想要把其中一些指定内容写入到指定的excel文件,并且在excel文件中指定的多个单元格。请问如何做到?
还是通过QFileDialog这个类么?
最佳答案
2023-11-13 13:52:31
是的,你可以使用 QFileDialog 类来打开Windows文件对话框以选择要写入内容的Excel文件。然后,你可以使用 openpyxl 库来打开选定的Excel文件,并在指定的单元格写入内容。

以下是一个简单的示例代码:

  1. from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog
  2. import openpyxl

  3. class MyWindow(QMainWindow):
  4.     def __init__(self):
  5.         super().__init__()

  6.         button = QPushButton("选择Excel文件", self)
  7.         button.clicked.connect(self.open_excel_file)

  8.     def open_excel_file(self):
  9.         options = QFileDialog.Options()
  10.         file_name, _ = QFileDialog.getOpenFileName(self, "选择Excel文件", "", "Excel Files (*.xlsx)", options=options)

  11.         if file_name:
  12.             wb = openpyxl.load_workbook(file_name)
  13.             sheet = wb.active
  14.             sheet["A1"] = "你要写入的内容"
  15.             wb.save(file_name)

  16. if __name__ == "__main__":
  17.     app = QApplication([])
  18.     window = MyWindow()
  19.     window.show()
  20.     app.exec()
复制代码


在这个示例中,当用户点击按钮时,会打开一个文件对话框以选择Excel文件。然后,程序会使用 openpyxl 库打开选定的Excel文件,并在A1单元格写入指定内容。最后,保存Excel文件。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-13 13:52:31 | 显示全部楼层    本楼为最佳答案   
是的,你可以使用 QFileDialog 类来打开Windows文件对话框以选择要写入内容的Excel文件。然后,你可以使用 openpyxl 库来打开选定的Excel文件,并在指定的单元格写入内容。

以下是一个简单的示例代码:

  1. from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog
  2. import openpyxl

  3. class MyWindow(QMainWindow):
  4.     def __init__(self):
  5.         super().__init__()

  6.         button = QPushButton("选择Excel文件", self)
  7.         button.clicked.connect(self.open_excel_file)

  8.     def open_excel_file(self):
  9.         options = QFileDialog.Options()
  10.         file_name, _ = QFileDialog.getOpenFileName(self, "选择Excel文件", "", "Excel Files (*.xlsx)", options=options)

  11.         if file_name:
  12.             wb = openpyxl.load_workbook(file_name)
  13.             sheet = wb.active
  14.             sheet["A1"] = "你要写入的内容"
  15.             wb.save(file_name)

  16. if __name__ == "__main__":
  17.     app = QApplication([])
  18.     window = MyWindow()
  19.     window.show()
  20.     app.exec()
复制代码


在这个示例中,当用户点击按钮时,会打开一个文件对话框以选择Excel文件。然后,程序会使用 openpyxl 库打开选定的Excel文件,并在A1单元格写入指定内容。最后,保存Excel文件。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-13 13:53:50 | 显示全部楼层
使用QFileDialog打开Excel文件并写入指定内容

在Pyside6中,你可以使用QFileDialog来打开文件对话框选择Excel文件,然后使用openpyxl库来操作Excel文件并将指定内容写入指定的单元格。

首先,你需要安装openpyxl库(如果未安装的话):
[/code]bash
pip install openpyxl
[/code]

接下来,你可以使用以下代码片段来实现这个功能:
  1. from PySide6.QtWidgets import QApplication, QFileDialog
  2. import openpyxl
  3. # 创建应用程序
  4. app = QApplication([])
  5. # 打开文件对话框选择Excel文件
  6. file_dialog = QFileDialog()
  7. file_dialog.setNameFilter("Excel Files (*.xlsx)")
  8. file_dialog.setDefaultSuffix("xlsx")
  9. file_path, _ = file_dialog.getOpenFileName()
  10. # 如果用户取消选择文件,file_path将为空
  11. if file_path:
  12.     # 打开Excel文件
  13.     workbook = openpyxl.load_workbook(file_path)
  14.     # 获取要操作的工作表
  15.     sheet = workbook.active
  16.     # 将指定内容写入指定的单元格
  17.     content = "Hello, World!"
  18.     cell_row = 1
  19.     cell_column = 1
  20.     sheet.cell(row=cell_row, column=cell_column).value = content
  21.     # 在excel文件中指定的多个单元格写入指定内容
  22.     contents = ["Content 1", "Content 2", "Content 3"]
  23.     cells = [(2, 1), (2, 2), (2, 3)]  # (row, column) 格式
  24.     for content, (row, column) in zip(contents, cells):
  25.         sheet.cell(row=row, column=column).value = content
  26.     # 保存对Excel文件的更改
  27.     workbook.save(file_path)
  28.     # 关闭文件
  29.     workbook.close()
  30. # 结束应用程序
  31. app.exit()
复制代码

上述代码中,首先通过QFileDialog选择Excel文件,然后使用openpyxl库打开并操作该文件,最后将更改保存并关闭文件。

你可以根据需要修改写入的内容和目标单元格,以及添加错误处理和其他必要的功能。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 08:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表