pyqt5qtablewidget导出excel
时间: 2023-06-10 22:05:30 浏览: 151
您可以使用Python的pandas库将QTableWidget中的数据导出到Excel。下面是一个示例代码:
```python
import pandas as pd
from PyQt5.QtWidgets import QTableWidget, QApplication
from PyQt5.QtCore import QIODevice, QFile
import sys
# 获取QTableWidget中的数据
def table_to_list(table):
rows = table.rowCount()
cols = table.columnCount()
data = []
for row in range(rows):
row_data = []
for col in range(cols):
item = table.item(row, col)
if item is not None:
row_data.append(item.text())
data.append(row_data)
return data
# 将数据导出到Excel
def export_data(data, file_name):
df = pd.DataFrame(data)
writer = pd.ExcelWriter(file_name)
df.to_excel(writer, 'Sheet1', index=False)
writer.save()
if __name__ == '__main__':
app = QApplication(sys.argv)
# 创建QTableWidget并填充数据
table = QTableWidget()
table.setRowCount(3)
table.setColumnCount(2)
table.setItem(0, 0, QTableWidgetItem('A1'))
table.setItem(0, 1, QTableWidgetItem('B1'))
table.setItem(1, 0, QTableWidgetItem('A2'))
table.setItem(1, 1, QTableWidgetItem('B2'))
table.setItem(2, 0, QTableWidgetItem('A3'))
table.setItem(2, 1, QTableWidgetItem('B3'))
# 获取数据并导出到Excel
data = table_to_list(table)
export_data(data, 'data.xlsx')
sys.exit(app.exec_())
```
这段代码将QTableWidget中的数据保存为data.xlsx文件。如果您需要将数据保存为其他格式,可以使用不同的pandas函数。
阅读全文