これは私のコードです:Qtで.xlsx形式を印刷するには?
QPrinter printer;
QPrintDialog dialog(&printer, this);
printer.setPageSize(QPrinter::A4);
printer.setOrientation(QPrinter::Portrait);
printer.setPageMargins (15,15,15,15,QPrinter::Millimeter);
printer.setFullPage(false);
printer.setOutputFormat(QPrinter::NativeFormat);
if(dialog.exec() != dialog.Accepted) {
return;
}
QPainter painter(&printer);
painter.setFont(QFont("Tahoma",15));
QFile file;
file.setFileName("D:/cedvel2017.xlsx");
file.open(QFile::ReadOnly);
char line[1024];
int lineNum = 0;
while(file.readLine(line,1024)>0) {
lineNum++;
QString str(line);
painter.drawText(10,40*lineNum,str);
qDebug() << str;
}
file.close();
painter.end();
しかし、私は、印刷に問題があります。テーブルを印刷するとき、そのデータは正規のフォーマットでは表示されません。 UTF-8には問題があります。あなたはハードプリントされたコピーhereを見ることができます。
どうすれば解決できますか?
伝説のスレッドで掲示する – user2722968
何が起こると思いますか?イメージを同じ方法で印刷しますか? (ファイルを開き、紙にバイナリコンテンツを書き込むのですか?)あなたとExcelレンダラが必要です。 – RvdK
Excelのように印刷されていることが期待されました。 –