Qt 从csv文件中读取数据

37 篇文章 2 订阅

最近项目中提出的需求是从excel表格中导入数据,查阅了很多资料之后,发现直接操作xls格式文件并不容易,之后找到了一个比较好的解决办法,那就是把xls文件另存为csv文件,然后在程序中进行操作。首先大致说明一下这两种格式的区别:

       xls文件是Excel电子表格的文件格式,而csv是一种比较通用的文件格式,xls文件只能用Excel才能打开,而csv文件可以用Excel、记事本、文本编辑器打开。

       好了,说明了它们的不同之后我们就说一下大体思路,读取csv文件中的数据,就是先以换行符进行断开,这样就能获取到每行的数据,然后再以半角的逗号断开,这样就能获取到具体每个单元格中的数据,话不多说,上代码:

QFileDialog* fd = new QFileDialog(this);//创建打开文件对话框
QString fileName = fd->getOpenFileName(this,tr("Open File"),"/home",tr("Excel(*.csv)"));
if(fileName == "")
      return;
QDir dir = QDir::current();
QFile file(dir.filePath(fileName));
if(!file.open(QIODevice::ReadOnly))
     qDebug()<<"OPEN FILE FAILED";
QTextStream * out = new QTextStream(&file);//文本流
QStringList tempOption = out->readAll().split("\n");//每行以\n区分
for(int i = 0 ; i < tempOption.count() ; i++)
{
     QStringList tempbar = tempOption.at(i).split(",");//一行中的单元格以,区分
     ...//省略具体对数据的操作
}
file.close();//操作完成后记得关闭文件

原文:https://blog.csdn.net/u011288190/article/details/48463231 

  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值