c++ - 将 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 输出:
我总是注意到 qtnewline
在我更改的字符串(8 位数字)之前正在做 a。
我已经尝试过使用trimmed();
,但结果是一样的。任何想法它可能是什么?
解决方案
您应该去掉换行符后的分号。当 Excel 看到换行符时,它假定新行开始,然后它会看到分号,这会创建第一个空列。
DataFullConvert.replace(QString("\n;"), QString("\n"));
推荐阅读
- kotlin - Spring webflux中代理请求的反应方式
- google-apps-script - 如何使用应用脚本获取以谷歌形式发布的图像/视频问题的 URL?
- c# - 如何在 dotnet core 2.2 中反序列化来自 json 的声明
- node.js - 如果一个进程的事件循环中存在多个作业。如果当前作业使进程崩溃,剩余的作业会发生什么?
- scala - 在加特林初始化后向场景添加步骤
- c++ - 只对“真正的”错误使用 C++ 异常处理是惯用的吗?
- java - Java 命名方法以执行查询的方法
- iis - 使用 Web Deploy 同步 Web 应用程序文件
- java - Java:使用列表中的第 n 个值设置第 n 个对象的属性
- windows - bat 脚本将 .gz 文件解压缩到一个位置并提取到另一个位置