pyqt5怎么往打开状态的excel表写入数据
时间: 2023-03-07 16:37:14 浏览: 187
很高兴为您解答。PyQt5可以使用QAxContainer模块将Excel文件以COM方式调用,这样就可以往已经打开的Excel表中写入数据了。具体的实现可以参考以下代码:from PyQt5.QAxContainer import QAxWidgetexcel = QAxWidget()
excel.setControl("Excel.Application")
excel.dynamicCall("SetVisible(bool)", True)wb = excel.workbooks().open(r'C:\test.xls')
ws = wb.worksheets[0]# 在第一行第一列写入数据
ws.Cells(1,1).Value = "Hello World!"wb.save()
wb.close()
excel.dynamicCall("Quit()")
相关问题
python基于pyqt5怎么往打开状态的excel表写入数据并更新显示代码
可以使用openpyxl库来实现,下面是示例代码:from openpyxl import load_workbook# 加载已打开的excel表
wb = load_workbook('test.xlsx')# 获取活动工作表
ws = wb.active# 写入数据
ws['A1'] = 'test'# 保存更新
wb.save('test.xlsx')
pycharm写一个excel售后录入高大上的窗口工具
好的,这里给出一个简单的Python脚本,用于使用PyQt5库创建一个Excel售后录入工具的窗口界面:
```python
import sys
import os
import openpyxl
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QLabel, QLineEdit, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口大小和标题
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle('Excel售后录入工具')
# 创建标签和文本框
self.label1 = QLabel('客户姓名', self)
self.label1.move(50, 50)
self.line_edit1 = QLineEdit(self)
self.line_edit1.move(150, 50)
self.line_edit1.resize(200, 30)
self.label2 = QLabel('客户电话', self)
self.label2.move(50, 100)
self.line_edit2 = QLineEdit(self)
self.line_edit2.move(150, 100)
self.line_edit2.resize(200, 30)
self.label3 = QLabel('售后内容', self)
self.label3.move(50, 150)
self.line_edit3 = QLineEdit(self)
self.line_edit3.move(150, 150)
self.line_edit3.resize(200, 30)
# 创建按钮
self.button1 = QPushButton('选择文件', self)
self.button1.move(50, 200)
self.button1.clicked.connect(self.choose_file)
self.button2 = QPushButton('确定', self)
self.button2.move(150, 200)
self.button2.clicked.connect(self.add_data)
self.button3 = QPushButton('取消', self)
self.button3.move(250, 200)
self.button3.clicked.connect(self.close)
# 设置文件路径变量
self.file_path = ''
def choose_file(self):
# 弹出文件选择对话框
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
file_name, _ = QFileDialog.getOpenFileName(
self, '选择Excel文件', '', 'Excel Files (*.xlsx *.xls)', options=options)
if file_name:
self.file_path = file_name
def add_data(self):
# 判断文件是否选择
if not self.file_path:
return
# 打开Excel文件
workbook = openpyxl.load_workbook(self.file_path)
worksheet = workbook.active
# 获取最后一行
row = worksheet.max_row + 1
# 将数据写入Excel文件
worksheet.cell(row=row, column=1, value=self.line_edit1.text())
worksheet.cell(row=row, column=2, value=self.line_edit2.text())
worksheet.cell(row=row, column=3, value=self.line_edit3.text())
# 保存Excel文件
workbook.save(self.file_path)
# 清空文本框
self.line_edit1.setText('')
self.line_edit2.setText('')
self.line_edit3.setText('')
# 提示添加成功
self.statusBar().showMessage('数据添加成功!')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个窗口界面包含三个文本框,分别用于输入客户姓名、客户电话和售后内容,以及一个选择文件按钮、一个确定按钮和一个取消按钮。选择文件按钮用于弹出文件选择对话框,确定按钮用于将录入的数据写入Excel文件中,取消按钮用于关闭窗口。在写入数据时,程序会自动将数据添加到Excel文件的最后一行,并且在状态栏中提示添加成功。
阅读全文