【发布时间】:2017-06-16 08:45:04
【问题描述】:
这是我的代码:
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。
我该如何解决?
【问题讨论】:
-
在传奇线程发帖span>
-
您预计会发生什么?你会以同样的方式打印图像吗? (打开文件并将二进制内容写入纸张?)您需要和 Excel 渲染器。
-
我预计它会像 Excel 表格一样打印