//头文件: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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)