加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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("
表格测试
序号 日期 飞机 大炮 火箭 轮船 汽车 我的自行车
%1 %2 %3 %4 %5 %6 %7 %8
"); 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"); } } }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有