QT 使用qxls三方库写入 QtableWidget数据到Excel表

qxls库导入

下载链接:https://github.com/dbzhang800/QtXlsxWriter
将下载好的 QtXlsxWriter-master\src\xlsx文件夹拷贝到工程目录下
库文件存放路径

##在工程文件 *.pro文件里添加如下代码
QXLSX_PARENTPATH=./xlsx/    
QXLSX_HEADERPATH=./xlsx/
QXLSX_SOURCEPATH=./xlsx/ 
include(./xlsx/qtxlsx.pri)

到这里qxlsx已经导入进工程了,在需要使用的地方添加头文件即可

#include "xlsxdocument.h"

导出tableWidget到Excel文件

可直接参考如下代码段:

void Widget::on_pushButton_save_clicked()
{
	/*创建一个新的Excel文件*/
     QXlsx::Document xlsx;
     /*写入表头*/
     for (int col = 0; col < ui->tableWidget->columnCount(); ++col)
     {
                QTableWidgetItem *headerItem =  ui->tableWidget->horizontalHeaderItem(col);
                if (headerItem)
                {
                    xlsx.write(1, col + 1, headerItem->text());
                }
            }
/*遍历tableWiget,将数据写入Excel*/
     for (int row = 0; row < ui->tableWidget->rowCount(); ++row)
     {
                for (int col = 0; col < ui->tableWidget->columnCount(); ++col)
                {
                    QTableWidgetItem *item = ui->tableWidget->item(row, col);
                    if (item)
                    {
                        xlsx.write(row + 2, col + 1, item->text());
                    }
                }
            }
     /*保存文件的名字*/
    QString f_name = GetDataTime_file_name() + ".xlsx";
     if (xlsx.saveAs(f_name))
     {
           qDebug() << "Export successful!";
           QMessageBox::information(this, "tips", "保存成功:" +  QDir::currentPath() + "/" + f_name);
      }
     else
      {
           qDebug() << "Export failed!";
           QMessageBox::warning(this, "warning", "文件保存失败");
      }
}

QString Widget::GetDataTime_file_name()
{
     return QDateTime::currentDateTime().toString("hh_mm_ss ");
 }

我的QT版本是5.9.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值