qt技巧--使用html导出表格替代excel
{
QString begin = QString::fromLocal8Bit("<HTML><HEAD></HEAD><BODY><TABLE CELLSPACING=0 cellpadding=10 COLS=8 BORDER=1 ><TR><TD COLSPAN=8 ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=8 COLOR=RED>表格测试</TD></TR><TR><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4 > 序号 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 日期 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 飞机 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 大炮 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 火箭 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 轮船 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 汽车 </TD><TD ALIGN=CENTER VALIGN=MIDDLE><FONT SIZE=4> 我的自行车 </TD></TR>");
QString mid = QString::fromLocal8Bit("<TR><TD ALIGN=CENTER VALIGN=MIDDLE >%1</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%2</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%3</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%4</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%5</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%6</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%7</TD><TD ALIGN=CENTER VALIGN=MIDDLE >%8</TD></TR>");
QString end = QString::fromLocal8Bit("</TABLE></BODY></HTML>");
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);
{
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 (*)"));
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");
}
}
}
本文出自 “人生得意须尽欢” 博客,请务必保留此出处http://no001.blog.51cto.com/1142339/274776
qt技巧--使用html导出表格替代excel的更多相关文章
- Vue 导出表格为Excel
放法有多种,我这里是直接转JSON数据为Excel. 1.既然要使用,那首先当然是安装依赖,在终端命令输入: npm install -S file-saver xlsx npm install -D ...
- 【js】js导出表格到excel
js: function method(tableid) //读取表格中每个单元到EXCEL中 { var curTbl = document.getElementById(tableid); var ...
- FineUI小技巧(3)表格导出与文件下载
需求描述 实际应用中,我们可能需要导出表格内容,或者在页面回发时根据用户权限下载文件(注意,这里的导出与下载,都是在后台进行的,和普通的一个链接下载文件不同). 点击按钮导出表格 由于FineUI 默 ...
- 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?
好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...
- 在ASP.NET Web Forms中使用页面导出伪xls Excel表格
将数据导出为Excel表格是比较常见的需求,也有很多组件支持导出真正的Excel表格.由于Excel能打开HTML文件,并支持其中的table元素以及p之类的文本元素的显示,所以把.html扩展名改为 ...
- PHP批量导出数据为excel表格
之前用插件phoexcel写过批量导入数据,现在用到了批量导出,就记录一下,这次批量导出没用插件,是写出一个表格,直接输出 //$teacherList 是从数据库查出来的二维数组 $execlnam ...
- thinkphp导出csv文件,用表格输出excel
1.thinkphp导出csv文件 导出csv文件可能就那几行代码,今天有个问题困扰我好久,就是导出之后出现一些html代码,这个不应该,view里面是空的,controller中最后也没有$this ...
- PHP读取excel表格,和导出表格
读取表格 public function excel(){ import("Common.Vendor.Excel.PHPExcel"); $filename="./fi ...
- java使用freemarker导出复杂的excel表格
正常导出excel表格使用的poi,但是导出复杂的excel有点困难,但是可以使用freemaker模板来导出复杂的excel. 1.都是先生成一个Excel表格的模板,最好是增加一行数据.具体看图里 ...
随机推荐
- Tor (洋葱头)torbrowser
Tor是什么 Tor是互联网上用于保护您隐私最有力的工具之一,但是时至今日仍有许多人往往认为Tor是一个终端加密工具.事实上,Tor是用来匿名浏览网页和邮件发送(并非是邮件内容加密)的.今天,我们要讨 ...
- iOS9.0 生成证书流程一(非推送)
1.首先进入网址 http://developer.apple.com 2.第二登入,点击
- spark rdd持久化的简单对比
未使用rdd持久化 使用后 通过对比可以发现,未使用RDD持久化时,第一次计算比使用RDD持久化要快,但之后的计算显然要慢的多,差不多10倍的样子 代码 public class PersistRDD ...
- SpringBoot集成PageHelper时出现“在系统中发现了多个分页插件,请检查系统配置!”
近日在项目中使用SpringBoot集成PageHelper后,跑单元测试时出现了"在系统中发现了多个分页插件,请检查系统配置!"这个问题. 如下图所示: org.mybatis. ...
- 【转】eth0 no such device(reload)
[转自:http://blog.chinaunix.net/uid-25554408-id-292638.html 北国的春的ChinaUnix博客] 今天我在vmware里安装了虚拟机,安装虚拟机就 ...
- Xcode 4.5( iOS6 SDK)、旧版本号cocos2d,支持iPhone5解析度
支持iPhone5全屏 1假设没有支持iPhone5是否.直接运行程序可以准备提交.开放iPhone5模拟器,你会发现上面有黑色的程序.没有矩形. 2真正运行该程序时,.你会发现程序回程屏幕高度.它是 ...
- delphi的bpl、dcp 、dcu文件意义(BPL相当于C++中的DLL,DCP相当于C++中的Lib,编译时需要)
BPL 英文全称 Borland Package library ,是一种特殊的DLL文件,用于代码重用和减少可执行文件.编译bpl时,仅需要添加相应功能的pas文件,如果有窗体,则需要添加dfm文 ...
- Delphi内存管理(Integer、Boolean、Record、枚举等都是在作用域内编译器自动申请内存,出了作用域自动释放;另外,字符串、Variant、动态数组、接口也是由Delphi自动管理)
一.什么是堆.栈? 程序需要的内存空间分为 heap(堆) 和 stack(栈),heap 是自由存储区, stack 是自动存储区,使用 heap 需要手动申请.手动释放, stack 是自动申请. ...
- WPF动画旋转(3轴同时旋转问题)
原文:WPF动画旋转(3轴同时旋转问题) WPF的资料比较少,做起来不是很方便,之前一直有个XYZ3个轴同时旋转的问题,开始的时候以为通过 this.theRotateX.Axis = new Ve ...
- python下载图片(2)
#-*- coding: UTF-8 -*- import urllib2, re,datetime,time, os,sys from PIL import Image, ImageDraw, Im ...