最近要完成乙個功能,將裝置中資料庫中的資料匯出成xml檔案,可以方便的用excel檢視。
主要的實現就是qt中的qxmlstreamwriter類。
其中有乙個功能就是要求excel中的單元格中的資料過多時,可以換行。一開始的**如下:
qxmlstreamwriter xmlwriter;
xmlwriter.writestartelement("data");
xmlwriter.writeattribute("ss:type",資料型別);
xmlwriter.writecharacters(資料1+「
」+資料2);
xmlwriter.writeendelement();
原本以為只要加入了「
」換行符就可以了。但是writecharacters方法會把『&』字元轉義為"&",這樣就不會達到換行的效果。
修改之後的**為:
qxmlstreamwriter xmlwriter;
xmlwriter.writestartelement("data");
xmlwriter.writeattribute("ss:type",資料型別);
xmlwriter.writecharacters(資料1);
xmlwriter.writeentityreference(qstring("#x0a").tostring());
xmlwriter.writecharacters(資料2);
xmlwriter.writeendelement();
writeentityreference方法會自動的在「#0xa」首加上『&』,在尾加上';',從而能達到換行的效果。
問題不是什麼大問題,但是讓我糾結了好久,希望能幫到遇到同樣問題的朋友。
目前只是想到了這個方法,如果哪位大神有更好的方法,請賜教。
換行符問題
今天,我總算搞清楚 回車 carriage return 和 換行 line feed 這兩個概念的來歷和區別了。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個...
window git crlf lf 換行符問題
git config global core.autocrlf inputgit config global core.safecrlf true1 autocrlf引數說明 提交時轉換為lf,檢出時轉換為crlf git config global core.autocrlf true 提交時轉換...
git 換行問題 git 換行符問題
最近在windows下使用git,發現不時沒有修改過的檔案要提交,對比發現檔案全部修改,但找不到不一樣的地方,baidu後懷疑是換行符的問題,因為windows和linux的換行符不一樣,這個和git客戶端配置有關係,如果每個人客戶端配置不一樣同樣會出現該問題.關於不同系統的換行符問題 unix l...