当前位置: 首页 > news >正文

网站建设 域名 空间互联网营销方法有哪些

网站建设 域名 空间,互联网营销方法有哪些,武汉开发网站建设,射阳做网站的公司在哪这是我记录Qt学习过程的第6篇心得文章,主要是方便自己编写的应用程序导出Excel数据的,走了不少弯路直接上代码。 实现代码: //人员信息导出 ui->pbtn2->setEnabled(false); // 打开文件对话框,选择 excel文件 QString fil…

这是我记录Qt学习过程的第6篇心得文章,主要是方便自己编写的应用程序导出Excel数据的,走了不少弯路直接上代码。

实现代码:
//人员信息导出
ui->pbtn2->setEnabled(false);
// 打开文件对话框,选择 excel文件
QString fileName = QFileDialog::getSaveFileName(this, "人员信息导出", "personnel", "excel文件(*.xlsx)");
if (fileName.isEmpty()) return;
this->fun_statusBar("人员信息导出 " + fileName);// 创建Excel应用程序对象
QAxObject *excel = new QAxObject("Excel.Application");
if (!excel->isNull())
{this->fun_statusBar("人员信息导出 创建Excel对象成功!");excel->setProperty("Visible", false);  //设置为false以在后台运行// excel->setProperty("SetVisible(bool)", false);  //设置为false以在后台运行// 新建工作簿QAxObject *workbooks = excel->querySubObject("Workbooks");this->fun_statusBar("人员信息导出 新建Excel工作簿成功!");// 添加一个工作簿QAxObject *workbook = workbooks->querySubObject("Add");this->fun_statusBar("人员信息导出 添加Excel工作簿成功!");QAxObject *worksheets = workbook->querySubObject("Worksheets");// 获取第一个工作簿// QAxObject *worksheet = worksheets->querySubObject("Item(int)", 1);QAxObject *worksheet = workbook->querySubObject("WorkSheets(int)", 1);this->fun_statusBar("人员信息导出 打开Excel获取第一个工作表成功!");// 设置工作表标题worksheet->setProperty("Name", "personnel");// 获取表格数据模型 根据自己表格使用的数据模型更改为 QAbstractItemModel获其他QSqlRelationalTableModel *itemModel = qobject_cast<QSqlRelationalTableModel *>(ui->tableView->model());if (itemModel){this->fun_statusBar("人员信息导出 打开数据表成功!");int rowCount = itemModel->rowCount();int colCount = itemModel->columnCount();QString str = "";// 写入表头for (int col = 1; col <= colCount; ++col){QString data = itemModel->headerData(col - 1, Qt::Horizontal).toString();QAxObject *cell = worksheet->querySubObject("Cells(int,int)", 1, col);cell->setProperty("Value", data);str += data + " ";// 设置文字格式QAxObject *range = cell->querySubObject("Characters()");QAxObject *font = range->querySubObject("Font");font->setProperty("Name", "黑体");                // 字体名称font->setProperty("Size", 12);                    // 字体大小font->setProperty("Color", 0x000000);             // 字体颜色(蓝色)cell->setProperty("HorizontalAlignment", -4108);  // 水平居中cell->setProperty("VerticalAlignment", -4108);    // 垂直居中//设置列宽QAxObject *column = worksheet->querySubObject("Columns(int)", col + 1);int columnWidth{};switch (col){case 0:case 2:case 3:columnWidth = 10;break;case 7:columnWidth = 12;break;case 8:columnWidth = 50;break;case 11:case 12:columnWidth = 14;break;default:columnWidth = 20;break;}column->setProperty("ColumnWidth", columnWidth);  // 设置每列的宽度根据实际自己调整delete font;delete range;delete column;delete cell;}qDebug() << "人员信息导出:表头写入 " + str << Qt::endl;// 写入数据for (int row = 2; row <= rowCount; ++row){str = "";for (int col = 1; col <= colCount; ++col){QVariant data = itemModel->index(row - 2, col - 1).data();QAxObject *cell = worksheet->querySubObject("Cells(int,int)", row, col);// 前缀单引号以确保作为文本处理if (data.toString().length() == 18 && data.toString().contains(QRegExp("\\d{18}"))){// 检查是否是身份证号(假设身份证号是18位数字)cell->dynamicCall("SetValue(const QVariant&)", QString("'") + data.toString());}else if (data.toString().length() == 11 && data.toString().contains(QRegExp("\\d{11}"))){// 检查是否是手机号码(假设手机号码是11位数字)cell->dynamicCall("SetValue(const QVariant&)", QString("'") + data.toString());}else{cell->dynamicCall("SetValue(const QVariant&)", data.toString());}// 设置单元格格式为文本cell->setProperty("NumberFormat", "@");           // "@" 表示文本格式cell->setProperty("HorizontalAlignment", -4108);  // 水平居中cell->setProperty("VerticalAlignment", -4108);    // 垂直居中str += data.toString() + " ";delete cell;}qDebug() << "人员信息导出:数据写入 " + str << Qt::endl;}this->fun_statusBar("人员信息导出 数据表数据写入成功!");// 保存工作簿if (!workbook->dynamicCall("SaveAs(const QString&)", QDir::toNativeSeparators(fileName)).toBool()){skysonya.messageBox("warning", wTitle, "保存Excel文件失败!");}}else{skysonya.messageBox("warning", wTitle, "打开数据表失败!");}// 关闭工作簿workbook->dynamicCall("Close (bool)", false);// 退出Excel应用程序excel->dynamicCall("Quit()");// 清理对象delete worksheet;delete worksheets;delete workbook;delete workbooks;delete excel;
}
else
{skysonya.messageBox("warning", wTitle, "创建Excel对象失败!");
}
ui->pbtn2->setEnabled(true);
this->fun_statusBar()为自己构建的函数,代码如下:
//状态栏信息显示
void MainWindow::fun_statusBar(QString str)
{str = " 提示信息:" + str;this->statusBar()->showMessage(str);qDebug() << str << Qt::endl;
}

skysonya.messageBox()函数前文中已有介绍。

http://www.dt0577.cn/news/30777.html

相关文章:

  • 教育行业网站怎么做青岛seo搜索优化
  • 国内最大ae模板下载网站廊坊网站
  • 昆山外贸型网站制作优化大师电脑版下载
  • wordpress网站破解百度站长平台官网
  • 做自媒体网站91
  • 免费视频素材库app深圳优化公司样高粱seo
  • 深圳 网站设计西安百度快照优化
  • 哪个网站做画册牛逼同城推广平台有哪些
  • 景德镇网站建设公司绍兴百度seo
  • 网页设计与制作建立站点实践报告国外免费网站建设
  • 沈阳网络建网站google浏览器下载
  • h5 技术做健康类网站icp备案查询
  • 东莞大岭山网站制作百度指数查询移动版
  • html如何设置背景图片站长工具seo查询5g5g
  • 手工制作小钱包安卓优化神器
  • 重庆技术支持 网站建设公司湖南seo优化首选
  • 上海网站建设的软件seo网站推广软件 快排
  • 什么是网站网页主页广州推广系统
  • 企业网站备案在哪个部门合肥seo
  • 成都房地产经纪协会云seo
  • 网站建设 力洋网络六种常见的网络广告类型
  • 校园网站方案阿里云域名注册流程
  • 做网站怎样使图片自由移动可以免费发布广告的平台有哪些
  • 做外快的网站深圳营销型网站设计公司
  • 网上购物商城网站建设seo优化的方法有哪些
  • 阿里巴巴有单独网站建设吗安卓优化大师下载
  • 电话网站模版南昌seo方案
  • 如何做团购网站宁波seo优化定制
  • 网站弄论坛形式怎么做收录批量查询工具
  • 怎样做一个app安徽seo网络优化师