qt技巧--使用html导出表格替代excel
(2012-11-14 16:18:27)
标签:
杂谈 |
曾经为qt不能[url=http://www.meishichina.com/News/ZhiLiang/201009/89921_2.shtml]奶粉[/urlxml的一种。html是做网页的,相信大家比较熟悉。所以使用html的生成表格。然后导出html格式文件。或者直接导出xls格式。Excel是能够直接识别的。
下附简短代码: //初始化QTextEdit里面的内容 void MainWindow::initText() { Qstring
begin = Qstring::fromLocal8Bit(" "); Qstring mid =
Qstring::fromLocal8Bit(""); Qstring end = Qstring::fromLocal8Bit("
"); Qstring mid2 =
mid.arg(1).arg(2).arg(3).arg(4).arg(5).arg(6).arg(7).arg(8);
Qstring mid3 =
mid.arg("a").arg("b").arg("c").arg("d").arg("e").arg("f").arg("g").arg("h");
begin.append(mid2); begin.append(mid3); begin.append(end);
textEdit->setText(begin); }
//保存文件对话框(对于某些格式QTextDocumentWriter可直接保存,其他不支持的格式就用QTextStream以流的形式保存
) void MainWindow::on_actionSave_as_triggered() { Qstring fn =
QFileDialog::getSaveFileName(this, tr("Save as…"), Qstring(),
tr("EXCEL files (*.xls);;ODS files (*.ods);;ODF files
(*.odt);;HTML-Files (*.htm *.html);;All Files (*)")); if
(fn.isEmpty()) return; if (! (fn.endsWith(".xls",
Qt::CaseInsensitive)||fn.endsWith(".odt", Qt::CaseInsensitive) ||
fn.endsWith(".htm", Qt::CaseInsensitive) || fn.endsWith(".html",
Qt::CaseInsensitive)|| fn.endsWith(".ods", Qt::CaseInsensitive)) )
fn += ".xls"; // default if (fn.endsWith(".odt",
Qt::CaseInsensitive)){ QTextDocumentWriter writer(fn);
writer.write(textEdit->document()); }else{ Qfile index(fn); if
(index.open(Qfile::WriteOnly | QIODevice::Text)) { QTextStream
liu(&index); liu.setCodec("UTF-8");
liu<<textEdit->document()->toHtml("UTF-8"); } } }
表格测试 | |||||||
序号 | 日期 | 飞机 | 大炮 | 火箭 | 轮船 | 汽车 | 我的自行车 |
%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 |
前一篇:[转载]巴兰笔名的来由
后一篇:女子在大火中救出两位老人感动网友