没有合适的资源?快使用搜索试试~ 我知道了~
QT中用QTableWdiget导出Excel表格
需积分: 49 54 下载量 32 浏览量
2020-03-19
18:34:47
上传
评论 3
收藏 5KB TXT 举报
温馨提示
试读
4页
将QTableWdiget数据以Excel格式导出,亲测可以使用,文档里有注意事项,只需将文档中的tableWidget换成自己tableWidget即可
资源推荐
资源详情
资源评论
//注意事项
// 1.在pro加入 QT += axcontainer 要不然不能通过
// 2.将tableWidget22换成自己自己的tableWdiget即可
QString fileName = QFileDialog::getSaveFileName(ui->tableWidget22, "保存",QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation),"Excel 文件(*.xls *.xlsx)");
if (fileName!="")
{
QAxObject *excel = new QAxObject;
if (excel->setControl("Excel.Application")) //连接Excel控件
{
excel->dynamicCall("SetVisible (bool Visible)","false");//不显示窗体
excel->setProperty("DisplayAlerts", false);//不显示任何警告信息。如果为true那么在关闭是会出现类似“文件已修改,是否保存”的提示
QAxObject *workbooks = excel->querySubObject("WorkBooks");//获取工作簿集合
workbooks->dynamicCall("Add");//新建一个工作簿
QAxObject *workbook = excel->querySubObject("ActiveWorkBook");//获取当前工作簿
QAxObject *worksheet = workbook->querySubObject("Worksheets(int)", 1);
int i,j;
//QTablewidget 获取数据的列数
int colcount=ui->tableWidget22->columnCount();
//QTablewidget 获取数据的行数
int rowscount=ui->tableWidget22->rowCount();
QAxObject *cell,*col;
//标题行
cell=worksheet->querySubObject("Cells(int,int)", 1, 1);
cell->dynamicCall("SetValue(const QString&)", "");
cell->querySubObject("Font")->setProperty("Size", 18);
//调整行高
worksheet->querySubObject("Range(const QString&)", "1:1")->setProperty("RowHeight", 30);
//合并标题行
// 1.在pro加入 QT += axcontainer 要不然不能通过
// 2.将tableWidget22换成自己自己的tableWdiget即可
QString fileName = QFileDialog::getSaveFileName(ui->tableWidget22, "保存",QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation),"Excel 文件(*.xls *.xlsx)");
if (fileName!="")
{
QAxObject *excel = new QAxObject;
if (excel->setControl("Excel.Application")) //连接Excel控件
{
excel->dynamicCall("SetVisible (bool Visible)","false");//不显示窗体
excel->setProperty("DisplayAlerts", false);//不显示任何警告信息。如果为true那么在关闭是会出现类似“文件已修改,是否保存”的提示
QAxObject *workbooks = excel->querySubObject("WorkBooks");//获取工作簿集合
workbooks->dynamicCall("Add");//新建一个工作簿
QAxObject *workbook = excel->querySubObject("ActiveWorkBook");//获取当前工作簿
QAxObject *worksheet = workbook->querySubObject("Worksheets(int)", 1);
int i,j;
//QTablewidget 获取数据的列数
int colcount=ui->tableWidget22->columnCount();
//QTablewidget 获取数据的行数
int rowscount=ui->tableWidget22->rowCount();
QAxObject *cell,*col;
//标题行
cell=worksheet->querySubObject("Cells(int,int)", 1, 1);
cell->dynamicCall("SetValue(const QString&)", "");
cell->querySubObject("Font")->setProperty("Size", 18);
//调整行高
worksheet->querySubObject("Range(const QString&)", "1:1")->setProperty("RowHeight", 30);
//合并标题行
资源评论
weixin_42051266
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功