新浪博客

Qt之导出PDF、HTML和Word(二)

2015-09-29 14:36阅读:
五、HTML与Word 搜索'Qt操作Word',可以找到通过QAxObject和COM Object联合直接读写Word的方法。但是,这个方法用起来不是很方便,在次,我介绍一种另类的方法,就是将“html格式代码保存到QString”,然后将QString导出为“.doc文件”。类似于直接保存“.html文件”,不同的是文件后缀名。如下示例代码:

void SaveReportThread::SaveToWord()
{
QString ReportPath = QDir::toNativeSeparators(QCoreApplication::applicationDirPath()); // 必须把路径中的'/'转换成'\\'
if (m_bSaveAll)
ReportPath += '\\TestReport_All.pdf';
else
ReportPath += '\\TestReport_' + m_pMainwindow->m_strCurrentItemName +
'.pdf';
QPrinter printer;
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName(ReportPath);
QString strHtml;
//基本信息
...
//word
ReportPath = QDir::toNativeSeparators(QCoreApplication::applicationDirPath()); // 必须把路径中的'/'转换成'\\'
if (m_bSaveAll)
ReportPath += '\\TestReport_All.doc';
else
ReportPath += '\\TestReport_' + m_pMainwindow->m_strCurrentItemName + '.doc';
QFile WordDoc(ReportPath);
WordDoc.open(QIODevice::WriteOnly | QIODevice::Truncate );
QTextStream stream(&WordDoc);
stream << strHtml << endl;
}

我的更多文章

下载客户端阅读体验更佳

APP专享