QTableWidget 导出到csv表格
跳槽到了新的公司,开始苦逼的出差现场开发,接触到了新的应用。有很多应用需要将Table导出成表格,可以把table导出成csv格式的文件。跟大伙分享一下;
- lass TableToExcle : public QDialog
- {
- Q_OBJECT
- public:
- TableToExcle(QWidget *parent = 0, Qt::WFlags flags = 0);
- ~TableToExcle();
- private:
- Ui::TableToExcleClass ui;
- private slots:
- void addRowSlot();
- void delRowSlot();
- void exportSlot();
- };
- TableToExcle::TableToExcle(QWidget *parent, Qt::WFlags flags)
- : QDialog(parent, flags)
- {
- ui.setupUi(this);
- ui.m_pTable->setColumnCount(4);
- QTableWidgetItem * item = new QTableWidgetItem("0");
- ui.m_pTable->setHorizontalHeaderItem ( 0, item );
- item = new QTableWidgetItem("1");
- ui.m_pTable->setHorizontalHeaderItem ( 1, item );
- item = new QTableWidgetItem("2");
- ui.m_pTable->setHorizontalHeaderItem ( 2, item );
- item = new QTableWidgetItem("3");
- ui.m_pTable->setHorizontalHeaderItem ( 3, item );
- ui.m_pTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- connect(ui.m_pAddBtn,SIGNAL(clicked()),this,SLOT(addRowSlot()));
- connect(ui.m_pDelBtn,SIGNAL(clicked()),this,SLOT(delRowSlot()));
- connect(ui.m_pExportBtn,SIGNAL(clicked()),this,SLOT(exportSlot()));
- }
- TableToExcle::~TableToExcle()
- {
- }
- void TableToExcle::addRowSlot()
- {
- ui.m_pTable->insertRow(ui.m_pTable->rowCount());
- }
- void TableToExcle::delRowSlot()
- {
- int index = ui.m_pTable->currentRow ();
- if (index > -1)
- {
- ui.m_pTable->removeRow(index);
- }
- }
- void TableToExcle::exportSlot()
- {
- QString fileName = QFileDialog::getSaveFileName(this, tr("Save File")," ",tr("file (*.csv)"));
- if (!fileName.isEmpty())
- {
- QFile file(fileName);
- bool ret = file.open( QIODevice::Truncate | QIODevice::WriteOnly);
- if(!ret)
- return;
- QTextStream stream(&file);
- QString conTents;
- QHeaderView * header = ui.m_pTable->horizontalHeader() ;
- if (header)
- {
- for ( int i = 0; i < header->count(); i++ )
- {
- QTableWidgetItem *item = ui.m_pTable->horizontalHeaderItem(i);
- if (!item)
- {
- continue;
- }
- conTents += item->text() + ",";
- }
- conTents += "\n";
- }
- for ( int i = 0 ; i < ui.m_pTable->rowCount(); i++ )
- {
- for ( int j = 0; j < ui.m_pTable->columnCount(); j++ )
- {
- QTableWidgetItem* item = ui.m_pTable->item(i, j);
- if ( !item )
- continue;
- QString str = item->text();
- str.replace(","," ");
- conTents += str + ",";
- }
- conTents += "\n";
- }
- stream << conTents;
- file.close();
- }
- if( QMessageBox::Yes == QMessageBox::information(0,QObject::tr("文件导出"),QString("文件导出成功,是否打开该文件?"),QMessageBox::Yes,QMessageBox::No) )
- {
- QSettings settings("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Office",QSettings::NativeFormat);
- QString szDefault, szPath;
- bool bSuccess;
- szPath = settings.value("12.0/Excel/InstallRoot/Path").toString();
- if (szPath.isEmpty())
- szPath = settings.value("11.0/Excel/InstallRoot/Path").toString();
- if (szPath.isEmpty())
- szPath = settings.value("10.0/Excel/InstallRoot/Path").toString();
- if (szPath.isEmpty())
- szPath = settings.value("9.0/Excel/InstallRoot/Path").toString();
- if (szPath.isEmpty())
- szPath = settings.value("14.0/Excel/InstallRoot/Path").toString();
- if (szPath.isEmpty())
- {
- QMessageBox::information(0, "提示", "系统没有安装Office, 不能查看故障报告,请您先安装Microsoft Office.");
- return;
- }
- QProcess * proce = new QProcess;
- QString szExcelexe = szPath + "excel.exe";
- QString szopen = "/safe";
- QString szDoc = fileName;
- QStringList list;
- list<<szDoc;
- if( proce )
- {
- proce->start(szExcelexe,list);
- proce->waitForStarted(5000); //需要等待完成启动
- }<pre name="code" class="cpp"> delete proce;
http://blog.csdn.net/hai200501019/article/details/37538591
QTableWidget 导出到csv表格的更多相关文章
- 实现数据导出为.csv表格
数据导出实现步骤: 1.查找出要导出的数据,整理为二维数组. 2.定义导出表格的字段 3.将整理的二维数组按导出表格定义的字段重新整理. 4.将整理的二维数组写入服务器中已有的一个.csv文件. 5. ...
- csv表格处理(上)-- JS 与 PHP 协作导入导出
CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...
- QTableWidget 导出到表格
跳槽到了新的公司.開始苦逼的出差现场开发.接触到了新的应用.有非常多应用须要将Table导出成表格,能够把table导出成csv格式的文件. 跟大伙分享一下: lass TableToExcle : ...
- csv表格处理(下)--纯JS解析导入csv
多日前的上篇介绍了csv表格,以及JS结合后端PHP解析表格填充表单的方法.其中csv转换成二维数组的时候逻辑比较复杂多坑,幸好PHP有丰富的库函数来处理,而现在用JS解析的话就没有那么幸运了,一切都 ...
- PHP处理CSV表格文件的常用操作方法是怎么样呢
php来说,fgetcsv读入csv表格,返回一个数组,然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单.工作量主要还在于浏览器前端,建议你用jQuer ...
- PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数
CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV ...
- 十七 bootstrap-table tableExport 导出xlsx格式表格
原文:十七 bootstrap-table tableExport 导出xlsx格式表格 在[十六.bootstrap-table javascript导出数据]中,打开导出的表格时,总会弹出一个提示 ...
- 将mysql数据库的数据导出做成excl表格通过邮件发送附件发给指定人
mysql数据库的数据导出成excl表 方法一: mysql -uroot -p123456 -e “select *.* from 表 into outfile ‘文件路径.xls’into out ...
- CSV表格读取
读取CSV表格需要CSV表格的编码格式为UTF-8 ,这个脚本中有些是为了方便使用封装的dll 不过都是一些简单的实现,自己实现也很容易,可做参考. /// <summary> /// 构 ...
随机推荐
- javasrcipt日期一些方法和格式转化
Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); ...
- Compare the value of entity field.
public class Program { static void Main(string[] args) { Program p = new Program(); p.Test(); Consol ...
- 根据选择项过滤GridView
前台代码: <div> <asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPos ...
- day4作业
作业内容:计算器 #!/usr/bin/env python # -*- coding:utf-8 -*- import re,time #加减字符处理函数 def handle_symbol(cal ...
- 让innerHTML方法添加到元素里的js可以被解析执行
<!DOCTYPE html> <html> <head> </head> <body> <div id="test&quo ...
- iOS 数据库第三方FMDB的简单使用
一 FMDB的简单说明及介绍 FMDB的github地址 https://github.com/ccgus/fmdb FMDB是一款简洁的,易用的封装库,简单介绍一下FMDB的使用 在FMDB下载文件 ...
- 跟我一起学extjs5(25--模块Form的自己定义的设计[3])
跟我一起学extjs5(25--模块Form的自己定义的设计[3]) 自己定义的Form已经能够执行了,以下改一下配置,把Form里面的FieldSet放在Tab之下.改动一下Modu ...
- Web API 设计摘要
近期读了一本微电子书 Brian Mulloy 所著<Web API Design>感觉颇多收获,特对其内容做了个整理摘要以便回想其观点精华以指导日常工作中的设计思路. 本文主要讲述 We ...
- iReport5.6.0 linechart 制作方法
iReport 官网和文档上关于chart设计以饼图和JDBC源作为样例.但很多其它的情况下因为报表中的数据须要首先加工处理,因此很多其它的是从JavaBeans set datasource从获取数 ...
- Xcode7网络限制
在info.plist添加字段 App Transport Security Settings Allow Arbitrary Loads yes