QTableWidget导出为excel文件
时间: 2023-04-04 18:03:47 浏览: 388
可以使用QTableWidget的数据导出功能将数据保存为CSV文件,然后使用Excel打开并保存为Excel文件。具体操作可以参考以下代码:
```python
import csv
from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem, QFileDialog
# 导出为CSV文件
def export_csv(table: QTableWidget):
file_path, _ = QFileDialog.getSaveFileName(None, "导出为CSV文件", "", "CSV Files (*.csv)")
if file_path:
with open(file_path, 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
for row in range(table.rowCount()):
row_data = []
for column in range(table.columnCount()):
item = table.item(row, column)
if item is not None:
row_data.append(item.text())
else:
row_data.append('')
writer.writerow(row_data)
# 导出为Excel文件
def export_excel(table: QTableWidget):
file_path, _ = QFileDialog.getSaveFileName(None, "导出为Excel文件", "", "Excel Files (*.xlsx)")
if file_path:
import pandas as pd
data = []
for row in range(table.rowCount()):
row_data = []
for column in range(table.columnCount()):
item = table.item(row, column)
if item is not None:
row_data.append(item.text())
else:
row_data.append('')
data.append(row_data)
df = pd.DataFrame(data)
df.to_excel(file_path, index=False, header=False)
```
调用`export_csv`函数可以将QTableWidget的数据导出为CSV文件,调用`export_excel`函数可以将数据导出为Excel文件。
阅读全文