日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

QAobject修改excel字體亂碼問題

作者:@┐(─__─)┌@ 更新時間: 2024-03-13 編程語言

一.問題

本來想用下面的代碼修改excel表格字體為“宋體”,但是發現生成的excel上面的格式顯示亂碼

QAxObject* range = sheet->querySubObject("Range(const QString&)", rangeString);
// 獲取單元格的字體對象  
QAxObject* font = range->querySubObject("Font");
font->setProperty("Name", QStringLiteral("宋體"));     //設置單元格字體

? ? ? ? ? ? ? ? ? ? ??

二.尋找方法

? ? ? ? 一開始以為是字符不是utf-8,嘗試轉成utf-8傳入,發現更奇怪了,變成數字了

font->setProperty("Name", QStringLiteral("宋體").toUtf8());     //設置單元格字體

? ? ? ? ? ? ? ? ? ?

? ? ? ?嘗試傳入英文,發現結果卻是正常的

font->setProperty("Name", QStringLiteral("Microsoft YaHei"));     //設置單元格字體

? ? ? ? ? ? ? ? ? ??

? ? ? ?嘗試qdebug打印,結果發現正常傳入“宋體”打印正常,打印QStringLiteral("宋體")亂碼

font->setProperty("Name", QStringLiteral("宋體"));     //設置單元格字體
qDebug() << "宋體"<<endl;
qDebug() << QStringLiteral("宋體") << endl;

三.解決方法

? ? ? 正常傳入“宋體”

QAxObject* range = sheet->querySubObject("Range(const QString&)", rangeString);
// 獲取單元格的字體對象  
QAxObject* font = range->querySubObject("Font");
font->setProperty("Name","宋體");     //設置單元格字體

原文鏈接:https://blog.csdn.net/m0_66178424/article/details/136607548

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新