QT QTableWidget导出为Excel格式

来源:互联网 发布:java解析日志文件 编辑:程序博客网 时间:2024/04/29 06:13

本人亲测有效,如果有问题希望大家能提出来。

Slot_ExportData(){QString filepath = QFileDialog::getSaveFileName(this, tr("Save as..."),QString(), tr("EXCEL files (*.xls);;HTML-Files (*.txt);;"));if (filepath != ""){int row = m_pTable->rowCount();int col = m_pTable->columnCount();QList<QString> list;//添加列标题  QString HeaderRow;for (int i = 0; i < col; i++){HeaderRow.append(m_pTable->horizontalHeaderItem(i)->text() + "\t");}list.push_back(HeaderRow);for (int i = 0; i < row; i++){QString rowStr = "";for (int j = 0; j < col; j++){rowStr += m_pTable->item(i, j)->text() + "\t";}list.push_back(rowStr);}QTextEdit textEdit;for (int i = 0; i < list.size(); i++){textEdit.append(list.at(i));}QFile file(filepath);if (file.open(QFile::WriteOnly | QIODevice::Text)){QTextStream ts(&file);ts.setCodec("GB2312");//这个地方大家自己判断是否用“utf-8”ts << textEdit.document()->toPlainText();file.close();}//导出后将表格情况,这一步大家自己选择要不要m_pTable->clearContents();m_pTable->setRowCount(0);}}


0 0