qtmodel导出为文本文件

qtmodel导出为文本文件,第1张

Qt对文件的创建、打开、写入、关闭都有自己的宏念库函数,我们在使用的时候只要包含相应的头文件,就可以轻松的对文件进行 *** 逗判作了

//头文件:ExportToFile.h

#ifndef OUTPUTCSV_H

#define OUTPUTCSV_H

#include <QDir>

#include <QTextStream>

class ExportToFile

{

public:

OutputCSV()

bool exportToFile(const QString context, const QString fileName, const QString filePath)

private:

}

#endif // OUTPUTCSV_H

//源文件:ExportToFile.cpp

#include "OutputCSV.h"

OutputCSV::OutputCSV(QObject *parent) : QObject(parent)

{

}

/*导出数据流到相应路径下的文件中*/

bool OutputCSV::exportToFile(const QString context, const QString fileName, const QString filePath)

{

bool res = false

QDir folder

QFile file

bool pathCheck = true

if(!folder.exists(filePath)) {

pathCheck = folder.mkpath(filePath)

}

if(pathCheck) {

QString fileUrl = filePath + "/" + fileName

file.setFileName(fileUrl)

file.open(QIODevice::ReadWrite)

if(file.isOpen()) {

QTextStream out(&file)

if(file.size() >山绝改 0) {

if(file.resize(0)) {

out <<context

out.flush()

res = true

}

} else {

out <<context

out.flush()

res = true

}

}

file.close()

}

return res

}

qt如何导出成网页:

1:打开软尺余件qt

2:编辑所需要的信息

3:然后扰困基编辑好了之后确认,点缓谨击右上角的设置中心

4:在设置中心里面找到信息就可以了

如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能。之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文侍让毕老芹件。在使用了QtSql模块后,我很容易的将这个类改写应用在Qt程序中。类的名字叫“ExportExcelObject”。使用起来很简单:

[cpp] view plaincopy

// 1. declare an object

// – fileName Excel 文件路径

// – sheetName Excel 工作表(sheet)名称

// – tableView 需要导出的QTableView指针

ExportExcelObject obj(fileName, sheetName, tableView)

// 2. define fields (columns) to the Excel sheet file

// – 第1个参数是QTableView的列

// – 第2个参数是对应该列的Excel sheet中的列名

// – 第3个参数是该列的类型,可以使用char(x) (x最大255),int,datetime, 等

obj.addField(1, tr("name"), "char(60)")

obj.addField(2, tr("ID"), "int")

obj.addField(3, tr("time"), " datetime ")

// 3. 该类有特定的SIGNAL用于连接一个progress控件,可以显示导出进度

connect(&obj, SIGNAL(exportedRowCount(int)), progressBar, SLOT(setValue(int)))

// 4. do the work

int retVal = obj.export2Excel()

if(retVal >0)

{//done

}

else

{//something wrong

}

那么这个类是怎样实现的呢?

1. 将Excel文件当成是一个数据库

使用MS的ODBC或ADO都可以将Excel文件当做一个滑早数据库,那么我们只需要使用下面这个DSN连接串去创建并连接至该Excel文件:

[cpp] view plaincopy

QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)}DSN=''FIRSTROWHASNAMES=1CREATE_DB=/"%1/"DBQ=%2").

arg(excelFilePath).arg(excelFilePath)

2. 将Excel的工作表(sheet)当成是一个数据库表

可以使用SQL语句“CREATE TABLE” 去创建一个工作表。

3. 向表中插入数据

使用SQL的“INSERT”语句插入数据。

4. Unicode支持

是的,列名和数据都支持Unicode。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12137835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存