qt5.5 tablewidget表格数据的导出和导入
时间: 2023-12-01 08:01:11 浏览: 78
在Qt5.5中,TableWidget表格数据的导出和导入可以通过使用QTableWidgetItem类以及QTableWidget类来实现。首先,我们需要创建一个QTableWidget并添加数据到表格中。然后,我们可以使用以下方法将表格数据导出为CSV文件:
```cpp
QTableWidget *tableWidget = new QTableWidget;
// 添加数据到表格中
// 创建CSV文件
QString fileName = "data.csv";
QFile file(fileName);
if (file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
QTextStream out(&file);
// 将表头写入CSV文件
for (int column = 0; column < tableWidget->columnCount(); ++column) {
out << tableWidget->horizontalHeaderItem(column)->data(Qt::DisplayRole).toString() << ",";
}
out << "\n";
// 将表格数据写入CSV文件
for (int row = 0; row < tableWidget->rowCount(); ++row) {
for (int column = 0; column < tableWidget->columnCount(); ++column) {
out << tableWidget->item(row, column)->data(Qt::DisplayRole).toString() << ",";
}
out << "\n";
}
file.close();
}
```
要将CSV文件中的数据导入到TableWidget中,可以使用以下方法:
```cpp
QString fileName = "data.csv";
QFile file(fileName);
if (file.open(QIODevice::ReadOnly)) {
QTextStream in(&file);
// 读取表头
QString line = in.readLine();
QStringList headers = line.split(",");
tableWidget->setColumnCount(headers.size());
tableWidget->setHorizontalHeaderLabels(headers);
// 读取表格数据
int row = 0;
while (!in.atEnd()) {
line = in.readLine();
QStringList fields = line.split(",");
tableWidget->insertRow(row);
for (int col = 0; col < fields.size(); col++) {
QTableWidgetItem *item = new QTableWidgetItem(fields.at(col));
tableWidget->setItem(row, col, item);
}
row++;
}
file.close();
}
```
通过以上方法,我们可以实现TableWidget表格数据的导出和导入,以便在应用程序中方便地处理和管理表格数据。