这是我的代码:
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 的问题。你可以在这里看到硬印本。
我该如何解决?