本人親測有效,如果有問題希望大家能提出來。
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);
}
}