본문 바로가기

QT

(QT) QTablewidget export to csv

QTablewidget 을 csv 로 변환하는 내용들을 정리해보았습니다. ^^

QTableWidget export to csv

void userinformationwindow::on_button_export_excel_clicked()
{
    // csv 파일

    QFile file("./file.csv"); // csv 파일명
    if (file.open(QFile::WriteOnly|QFile::Truncate)) //csv write
    {
    QTextStream stream(&file); // 연속적인 데이터 받아오는 객체
    QString conTents; // row 내용들

    for(int r=0; r<ui->tableWidget->rowCount();++r) // tableWidget 에 있는 row 개수 카운트
    {
       for(int c =0; c<ui->tableWidget->columnCount(); ++c) // tableWidget 에 있는 column 개수 카운트
       {
           QTableWidgetItem* item = ui->tableWidget->item(r,c); // 내가 작성한 tableWidget 내용들을 포인터 item에 담는다.
           if(!item) // 만약 아이템 없어도
               continue; // 계속한다
           QString str= item->text(); // str은 item을 텍스트로
           str.replace(",",""); // replace 함수는 문자열의 일부를 다른 문자열로 치환한다.
           conTents += str+","; // 내용들을 콤마(,)로 구분한다.
       }
       conTents += "\n"; // 각 내용물을 탭으로 한칸 띄운다.
    }
    stream<<conTents; // for 문으로 돌린 걸 stream 으로 출력 시킨다.
    file.close();
    }
}