我正在编写一个小应用程序来将数据导出到CSV文件。这是我使用的代码
QString fileName = QFileDialog::getSaveFileName(
this,
tr("Save As"),
"",
tr("Comma Separated Values (*.csv);;All Files (*.*)"));
if (fileName.isEmpty()) return;
else {
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly)) {
QMessageBox::information(this, tr("Unable to open file"), file.errorString());
return;
}
// Write content to *.csv file
QTextStream stream(&file);
// Print header
stream << "ID\tUsername\tAddress";
stream.flush();
file.close();
}
然后我运行应用程序,出现一个对话框以保存CSV文件。但是当我打开刚刚保存的CSV文件时,我收到了以下错误警告
和
这是CSV文件中的数据
如您所见,我打算在3列中显示3个字段,例如 ID ,用户名和地址,但所有数据都在列。
你能解释一下为什么我收到2条以上的信息吗?如何在每一栏中显示每个字段(ID,用户名和地址)?
提前致谢!
P / S: 目前我使用的是Microsoft Excel 2013.
答案 0 :(得分:2)
CSV是逗号分隔值的缩写。
// Print header
stream << "ID\tUsername\tAddress";
您使用TAB
个字符来分隔列。请尝试使用逗号。
编辑:此外,您需要在每行末尾添加换行符\n
。