首页 > 解决方案 > 将 QString 写入 Excel 会产生额外的选项卡吗?

问题描述

使用我的初始 Data.CSV 后,我想再次将其另存为 Data.CSV,虽然效果已经非常好,但当我在 Excel 中打开它时,它以某种方式写入了错误的列。

不知何故写错了数据:

不知何故写错了数据

这就是我将它写入文件的方式:

QFile file(fileName);
QString DataFullConvert;
DataFullConvert = DataFullConvert.trimmed();
qDebug() << DataFullConvert;
if (!file.open(QFile::WriteOnly | QFile::Text)){
    qDebug() << file.errorString();
}
else{
    QTextStream stream(&file);
    stream << DataFullConvert;

这就是我的 qDebug() 的样子: qDebug 输出:
q调试输出

我总是注意到 qtnewline在我更改的字符串(8 位数字)之前正在做 a。

我已经尝试过使用trimmed();,但结果是一样的。任何想法它可能是什么?

标签: c++excelqtcsvqtextstream

解决方案


您应该去掉换行符后的分号。当 Excel 看到换行符时,它假定新行开始,然后它会看到分号,这会创建第一个空列。

DataFullConvert.replace(QString("\n;"), QString("\n"));

推荐阅读