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

p2p网站建设广州设计一个网页的策划书

p2p网站建设广州,设计一个网页的策划书,简书wordpress,义乌seo推广Qt Tablewidget表格数据的导出和导入 前期准备#xff1a; pro文件加入 QT axcontainer 在头文件加入#includeActiveQt/QAxObject 网上还有写#include 版本不同#xff0c;可能代码写法不同#xff0c;自己测试。 一. xls/xlsx文件数据导入TableWidget表格 我…Qt Tablewidget表格数据的导出和导入 前期准备 pro文件加入 QT axcontainer 在头文件加入#includeActiveQt/QAxObject 网上还有写#include 版本不同可能代码写法不同自己测试。 一. xls/xlsx文件数据导入TableWidget表格 我们右击导入按钮转到槽添加被点击后的代码 QString strData; void MainWindow::on_pushButton_17_clicked() {//首先我们需要创建一个文件选择对话框QString curPash QDir::currentPath(); //获取当前路径QString dlgTitle选择表格文件;//xls和xlsx格式的文件都可以xlsx兼容xls注意每一种类型后面要加两个分号QString filter表格文件(*.xls *.xlsx);;xls文件(*.xls);;xlsx文件(*.xlsx);;所有文件(*.*);//创建文件选择对话框QStringList fileList QFileDialog::getOpenFileNames(this,dlgTitle,curPash,filter);if(fileList.count()1)return;for(int i 0;ifileList.count();i){//保存文件地址strData fileList.at(i);}//连接Excel控件QAxObject excel(Excel.Application);//不显示任何警告信息excel.setProperty(Visible,false);//获取工作簿集合QAxObject *workbooks excel.querySubObject(WorkBooks);workbooks-dynamicCall(Open (const QString),str);//获取活动工作簿QAxObject *workbook excel.querySubObject(ActiveWorkBook);//获取工作表集合的工作表1即sheet1QAxObject *worksheet workbook-querySubObject(Sheets(int),1);QAxObject *range; //获取cell的值QString strValhull;QStringList header;//设置初始表格行列都为0ui-tableWidget-setRowCount(0); //设置行数为0ui-tableWidget-setColumnCount(0); //设置列数为0int count 0;for(int i 1;irow;i){//注意setRowCount里面的函数不是追加而是总数很多人最开始都把这个函数以为是总数造成程序经常崩溃ui-tableWidget-setRowCount(ui-tableWidget-rowCount()1);for(int j 1;jcolumn;j){if(i 1){ui-tableWidget-setColumnCount(ui-tableWidget-columnCount()1);range worksheet-querySubObject(Cells(int,int),i,j); //获取cell的值strVal range-dynamicCall(Value2()).toString();headerstrVal;//设置表格头}else{probar-setValue(count);range worksheet-querySubObject(Cells(int,int),i,j); //获取cell的值strVal range-dynamicCall(Value2()).toString();ui-tableWidget-setItem(i-2,j-1,new QTableWidgetItem(strVal));}}if(i 1){ui-tableWidget-setHorizontalHeaderLabels(header);}}ui-tableWidget-setRowCount(ui-tableWidget-rowCount()-1);} } 二. tableWidget表格数据导出为xls/xlsx文件 我们右击导入按钮转到槽添加被点击后的代码 void MainWindow::on_pushButton_23_clicked() {//获取保存路径QString filepathQFileDialog::getSaveFileName(this,tr(Save),.,tr( (*.xlsx)));if(!filepath.isEmpty()){QAxObject *excel new QAxObject(this);//连接Excel控件excel-setControl(Excel.Application);//不显示窗体excel-dynamicCall(SetVisible (bool Visible),false);//不显示任何警告信息。如果为true那么在关闭是会出现类似“文件已修改是否保存”的提示excel-setProperty(DisplayAlerts, false);//获取工作簿集合QAxObject *workbooks excel-querySubObject(WorkBooks);//新建一个工作簿workbooks-dynamicCall(Add);//获取当前工作簿QAxObject *workbook excel-querySubObject(ActiveWorkBook);//获取工作表集合QAxObject *worksheets workbook-querySubObject(Sheets);//获取工作表集合的工作表1即sheet1QAxObject *worksheet worksheets-querySubObject(Item(int),1);//设置表头值for(int i1;iui-tableWidget-columnCount()1;i){//设置设置某行某列QAxObject *Range worksheet-querySubObject(Cells(int,int), 1, i);Range-dynamicCall(SetValue(const QString ),ui-tableWidget-horizontalHeaderItem(i-1)-text());}//设置表格数据for(int i 1;iui-tableWidget-rowCount()1;i){for(int j 1;jui-tableWidget-columnCount()1;j){QAxObject *Range worksheet-querySubObject(Cells(int,int), i1, j);Range-dynamicCall(SetValue(const QString ),ui-tableWidget-item(i-1,j-1)-data(Qt::DisplayRole).toString());}}workbook-dynamicCall(SaveAs(const QString),QDir::toNativeSeparators(filepath));//保存至filepathworkbook-dynamicCall(Close());//关闭工作簿excel-dynamicCall(Quit());//关闭exceldelete excel;excelNULL;qDebug() \n导出成功啦;} }三 Qt如何将数据保存成CSV文件 3.1 csv文件 csv文件是逗号分隔值Comma-Separated ValuesCSV文件的缩写其文件以纯文本形式存储表格数据数字和文本各个字段用逗号进行分割采用回车进行换行。由于采用纯文本记录csv文件可以很方便的被文本处理工具、excel等工具识别。 3.2 Qt中导出csv文件 在Qt中打开与保存csv文件十分方便直接按照普通文本的形式操作用QTextStream进行标准化的读写还是很简单。 #include QFileDialog #include QTextStream #include iostream//显示所选表所有内容 void MainWindow::on_pushButton_clicked() {/初始化最好放在 构造函数中执行for(int row 0; row 4; row){for(int col 0; col 3; col){if(ui-tableWidget-item(row,col)nullptr || ui-tableWidget-item(row,col)-text().isEmpty()){ui-tableWidget-setItem(row,col,new QTableWidgetItem);//...}}} /方法1获取创建的csv文件名QString fileName QFileDialog::getSaveFileName(this, tr(Excel file), qApp-applicationDirPath (),tr(Files (*.csv)));if (fileName.isEmpty())return;//打开.csv文件QFile file(fileName);if(!file.open(QIODevice::WriteOnly | QIODevice::Text)){std::cerr Cannot open file for writing: qPrintable(file.errorString()) std::endl;return;}QTextStream out(file);/ // 方法2 打开指定的 .csv文件 // QFile file(200000.csv); // if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) // { // qDebug()Cannot open file for writing; // return; // } // QTextStream out(file);创建表头out tr(信息,) tr(数字,) \n;QString string;//写入内容for(int i 0; i 4; i){// QString string ui-tableWidget-item(i, col)-text();// out test , i \n;for(int col 0; col 3; col){string ;string ui-tableWidget-item(i, col)-text();下面语句可以直接访问不需要执行ui-tableWidget-setItem(row,col,new QTableWidgetItem);/// 但还不知道是否有其他的副作用。//string ui-tableWidget-model()-index(i, col).data().toString();out string ,; // 写入文件//out \n;}out \n;}//关闭文件file.close(); }#include QFileDialog #include QDateTime #include QTextStreamvoid MainWindow::on_pushButton_clicked() {//1.选择导出的csv文件保存路径QString csvFile QFileDialog::getExistingDirectory(this);if(csvFile.isEmpty())return;//2.文件名采用系统时间戳生成唯一的文件QDateTime current_date_time QDateTime::currentDateTime();QString current_date current_date_time.toString(yyyy_MM_dd_hh_mm_ss);//csvFile tr(/%1_DTUConfigInfo_export_%2.csv).arg(username).arg(current_date);csvFile tr(/DTUConfigInfo_export_%2.csv).arg(current_date);//3.用QFile打开.csv文件 如果不存在则会自动新建一个新的文件QFile file(csvFile);if ( file.exists()){//如果文件存在执行的操作此处为空因为文件不可能存在}file.open( QIODevice::ReadWrite | QIODevice::Text );statusBar()-showMessage(tr(正在导出数据。。。。。。));QTextStream out(file);//4.获取数据 创建第一行outtr(UID,)tr(sysID,)tr(UsrID,)tr(MeterNum,)tr(CMD,\n);//表头//其他数据可按照这种方式进行添加即可//5.写完数据需要关闭文件file.close(); }四 总结 Qt中csv文件的导入与导出 CSV 1.简介 全称Comma Separated Values。 是“逗号分隔值”的英文缩写通常是纯文本文件一般用wordWPS或是记事本打开。 2.规则 1开头不留空以行为单位。 2可含或不含列名含列名则居文件第一行。 3一行数据部跨行无空行。 4以半角逗号作分隔符列为空也要表达其存在。 5列内容如存在半角逗号即,则用半角引号即“将该字段值包含起来。内容如存在半角逗号即,则用半角引号即”将该字段值包含起来。 6列内容如存在半角引号即则应替换成半角双引号“”转义并用半角引号即将该字段值包含起来。 7文件读写时引号逗号操作规则互逆。 8内码格式不限可为 ASCII、Unicode 或者其他。 9不支持特殊字符
http://www.zqtcl.cn/news/774007/

相关文章:

  • 6免费建站的网站在线建筑设计
  • 哪些网站做任务可以赚钱的建设厅网站如何查询企业信息
  • 深圳网站设计+建设首选深圳市服装网站建设需求分析报告
  • 肥城网站制作浙江省建设厅信息港官网
  • 手机网站建设进度南宁企业网站设计
  • 建设学校网站方案大淘客网站上的推广怎么做
  • 哪个网站可以免费学设计南阳网站建设页面
  • 外贸公司建网站一般多少钱南京网站建设小程
  • 洛阳霞光做网站公司手机编程教学
  • 深圳正规网站建设公司顺德网页制作公司
  • 消防中队网站建设筑云电商网站建设公司
  • 天津网站建设天津中国东盟建设集团有限公司网站
  • 正版传奇手游官方网站宁波建设银行网站首页
  • 中铁建设集团招标网站wordpress区块编辑无法使用
  • 做电影网站需要的服务器配置网站关键词排名优化应该怎么做
  • 企业网站管理关键词你们懂的
  • 成都成华网站建设跟网站开发公司签合同主要要点
  • 手机搭建平台网站化工厂建设网站
  • 怎样建设自己网站的后台龙港哪里有做百度网站的
  • 西安做网站建设哪家好2345网址导航电脑版下载
  • 做暧暧小视频网站十大职业资格培训机构
  • 泰安网站建设优化营销策划是做什么
  • 做网站百度排前位网页设计实训报告2000字
  • 网站建设的活动方案房地产销售渠道拓客方案
  • 哈尔滨网站提升排名版式设计图片
  • 我的专业网站建设策划书网站logo教程
  • 百度 网站 移动端win10系统之家官网
  • h5商城网站建站成都网站建设全平台
  • xuzhou公司网站制作有什么手机网站
  • 网站建设 培训深圳网站建设制作品牌公司