本人亲测有效,如果有问题希望大家能提出来。
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);
}
}