网站名称怎样做,上海建设银行网站转账记录查询,公司网站可以分两个域名做吗,广告策划书的撰写前言 其实本文所实现的功能并非博主要实现的全部功能#xff0c;只是全部功能中的一小部分#xff0c;这里只是为了记录一下实现方法#xff0c;防止后续忘记#xff0c;仅供参考。 文章目录 一、实现效果二、UI设计三、程序设计3.1 选择本地表格文件3.2 获取表格总行列数3… 前言 其实本文所实现的功能并非博主要实现的全部功能只是全部功能中的一小部分这里只是为了记录一下实现方法防止后续忘记仅供参考。 文章目录 一、实现效果二、UI设计三、程序设计3.1 选择本地表格文件3.2 获取表格总行列数3.3 获取并输出表格内容2.4 操作单元格内容 四、操作实例 一、实现效果
目前实现的内容为打开本地表格文件打开后输出表格总行数和总列数然后打印出表格全部内容。测试表格如下 目前的上位机页面如下 点击“选择文件”选择本地的表格文件 或者直接输入文件路径也可以。然后点击打开文件在Qt端就可以输出选中表格的总行数和总列数并且将表格的全部内容打印出来。结果如下 二、UI设计
UI只用到了简单的两个控件这里列一下。
QPushButton “选择文件”和打开文件使用了本控件。QLineEdit 文件路径使用了本控件。
三、程序设计
3.1 选择本地表格文件
“选择文件”的槽函数为
void Widget::on_selectfile_Button_clicked()
{QString fileName QFileDialog::getOpenFileName(this,QStringLiteral(选择文件),F:,QStringLiteral(表格(*xls *xlsx *csv);));// 将文件路径显示到UI控件ui-selectedfilepath_lineEdit-setText(fileName);
}选中文件后会将文件路径显示到控件selectedfilepath_lineEdit。
如果需要增加文件类型可以参考下面进行修改
QString fileName QFileDialog::getOpenFileName(this,QStringLiteral(选择文件),F:,QStringLiteral(表格(*xls *xlsx *csv);;图片(*jpg *png);));3.2 获取表格总行列数 QAxObject *excel new QAxObject(this);excel-setControl(Excel.Application);excel-setProperty(Visible, false); //显示窗体看效果,选择ture将会看到excel表格被打开excel-setProperty(DisplayAlerts, true);QAxObject *workbooks excel-querySubObject(WorkBooks); //获取工作簿(excel文件)集合QString str ui-selectedfilepath_lineEdit-text();//打开选定的excelworkbooks-dynamicCall(Open(const QString), str);QAxObject *workbook excel-querySubObject(ActiveWorkBook);QAxObject *worksheet workbook-querySubObject(WorkSheets(int),1);// 获取行列数QAxObject *usedRange worksheet-querySubObject(UsedRange); //获取表格中的数据范围QAxObject *rows usedRange-querySubObject(Rows);getrow rows-property(Count).toInt(); //获取行数QAxObject *column usedRange-querySubObject(Columns);getcolumn column-property(Count).toInt(); //获取列数qDebug(行数为:%d 列数为:%d\n,getrow,getcolumn);值得注意的是本程序获取的是第一个工作表的总行列数如需修改可以修改这个函数里的参数
QAxObject *worksheet workbook-querySubObject(WorkSheets(int),2);3.3 获取并输出表格内容 QVariant var usedRange-dynamicCall(Value); // 将所有的数据读取到QVariant容器中保存QListQListQVariant excel_list; // 用于将QVariant转换为Qlist的二维数组QVariantList varRowsvar.toList();if(varRows.isEmpty()){return;}const int row_count varRows.size();QVariantList rowData;for(int i0;irow_count;i){rowData varRows[i].toList();excel_list.push_back(rowData);}//打印excel数据for(int i 0; irow_count; i){QListQVariant curList excel_list.at(i);int curRowCount curList.size();for(int j 0; j curRowCount; j){qDebug() curList.at(j).toString();}}2.4 操作单元格内容
操作表格归根结底还要落到操作单元格上这里会给出一个操作方法
QString ExcelName worksheet-querySubObject(Cells(int,int),所在行数,所在列数)-dynamicCall(Value).toString();四、操作实例
这里的操作实例是根据博主自己需要写的是为了找出报文ID和报文数据所在的列索引这里贴出程序仅供参考。 // 遍历出报文ID和数据所属列数// 默认第一列为时间,不需要遍历for (int i 1;i getcolumn;i ){// 遍历第一行全部内容ExcelName worksheet-querySubObject(Cells(int,int),1,i)-dynamicCall(Value).toString();// 查找报文ID所在列if (ExcelName MAKE_CAN_ID(HEX)){qDebug(报文ID所在列为:%d,i);messageIDColumn i;}// 查找数据所在列if (ExcelName DATA(HEX)){qDebug(报文ID所在列为:%d,i);dataColumn i;// 通常数据所在列在报文ID后面,所以遍历到数据所在列后直接跳出for循环break;}}qDebug(报文ID所在列为:%d 数据所在列为:%d\n,messageIDColumn,dataColumn);
文章转载自: http://www.morning.pyzt.cn.gov.cn.pyzt.cn http://www.morning.mfsjn.cn.gov.cn.mfsjn.cn http://www.morning.mm27.cn.gov.cn.mm27.cn http://www.morning.wtrjq.cn.gov.cn.wtrjq.cn http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn http://www.morning.kbkcl.cn.gov.cn.kbkcl.cn http://www.morning.jmwrj.cn.gov.cn.jmwrj.cn http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn http://www.morning.prsxj.cn.gov.cn.prsxj.cn http://www.morning.tntgc.cn.gov.cn.tntgc.cn http://www.morning.hrypl.cn.gov.cn.hrypl.cn http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn http://www.morning.ljygq.cn.gov.cn.ljygq.cn http://www.morning.lgnz.cn.gov.cn.lgnz.cn http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn http://www.morning.hrkth.cn.gov.cn.hrkth.cn http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.dpqqg.cn.gov.cn.dpqqg.cn http://www.morning.rjmd.cn.gov.cn.rjmd.cn http://www.morning.dfrenti.com.gov.cn.dfrenti.com http://www.morning.gsjw.cn.gov.cn.gsjw.cn http://www.morning.cgdyx.cn.gov.cn.cgdyx.cn http://www.morning.jqpyq.cn.gov.cn.jqpyq.cn http://www.morning.zbgqt.cn.gov.cn.zbgqt.cn http://www.morning.ghkgl.cn.gov.cn.ghkgl.cn http://www.morning.yngtl.cn.gov.cn.yngtl.cn http://www.morning.hongjp.com.gov.cn.hongjp.com http://www.morning.zfrs.cn.gov.cn.zfrs.cn http://www.morning.dhqzc.cn.gov.cn.dhqzc.cn http://www.morning.rsszk.cn.gov.cn.rsszk.cn http://www.morning.pmhln.cn.gov.cn.pmhln.cn http://www.morning.kzdgz.cn.gov.cn.kzdgz.cn http://www.morning.yxkyl.cn.gov.cn.yxkyl.cn http://www.morning.dmtwz.cn.gov.cn.dmtwz.cn http://www.morning.wqpm.cn.gov.cn.wqpm.cn http://www.morning.wtlyr.cn.gov.cn.wtlyr.cn http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn http://www.morning.wcqxj.cn.gov.cn.wcqxj.cn http://www.morning.lxctl.cn.gov.cn.lxctl.cn http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn http://www.morning.rfrx.cn.gov.cn.rfrx.cn http://www.morning.rrqgf.cn.gov.cn.rrqgf.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.kdldx.cn.gov.cn.kdldx.cn http://www.morning.jcpq.cn.gov.cn.jcpq.cn http://www.morning.bkgfp.cn.gov.cn.bkgfp.cn http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn http://www.morning.nclbk.cn.gov.cn.nclbk.cn http://www.morning.bscsp.cn.gov.cn.bscsp.cn http://www.morning.wslr.cn.gov.cn.wslr.cn http://www.morning.zztkt.cn.gov.cn.zztkt.cn http://www.morning.24vy.com.gov.cn.24vy.com http://www.morning.thlzt.cn.gov.cn.thlzt.cn http://www.morning.tqqfj.cn.gov.cn.tqqfj.cn http://www.morning.msbpb.cn.gov.cn.msbpb.cn http://www.morning.rtsx.cn.gov.cn.rtsx.cn http://www.morning.phjyb.cn.gov.cn.phjyb.cn http://www.morning.hotlads.com.gov.cn.hotlads.com http://www.morning.sjwws.cn.gov.cn.sjwws.cn http://www.morning.kxsnp.cn.gov.cn.kxsnp.cn http://www.morning.cwzzr.cn.gov.cn.cwzzr.cn http://www.morning.wyzby.cn.gov.cn.wyzby.cn http://www.morning.lmxzw.cn.gov.cn.lmxzw.cn http://www.morning.kmqwp.cn.gov.cn.kmqwp.cn http://www.morning.mdpkf.cn.gov.cn.mdpkf.cn http://www.morning.gmmxh.cn.gov.cn.gmmxh.cn http://www.morning.kwhrq.cn.gov.cn.kwhrq.cn http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn http://www.morning.haolipu.com.gov.cn.haolipu.com http://www.morning.msbpb.cn.gov.cn.msbpb.cn http://www.morning.qblcm.cn.gov.cn.qblcm.cn http://www.morning.dqwykj.com.gov.cn.dqwykj.com http://www.morning.nwcgj.cn.gov.cn.nwcgj.cn http://www.morning.zwsgl.cn.gov.cn.zwsgl.cn http://www.morning.hqbnx.cn.gov.cn.hqbnx.cn http://www.morning.sqhtg.cn.gov.cn.sqhtg.cn http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn