這是我的代碼:如何在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一樣打印表 –