close
 
QStrings Title = tr("Export file");

QString
fileName=QFileDialog::getSaveFileName(this,sTitle
,sDefaultFilePath,tr("Excel Files (*.csv);;PDF Documents (*.pdf)"));

第一個參數填this即可

第二個參數是對話方塊名稱

第三個參數是預設儲存位置

第四個則填入可以選擇儲存之副檔名,多個則用兩個";"來分類

csv寫入資料比較容易

QFile csvFile(sFileName);
csvFile.write(sStr.toAscii()+",");
csvFile.write("\n");
csvFile.close();

csv檔案由逗號分隔資料欄的,所以後面有加個逗號。

將表格寫入pdf檔案就牽扯到html語法

QTextDocument*tdTextDoc=newQTextDocument();
QFonttFont;

設定文字大小
tFont.setPointSize(22);
tdTextDoc->setDefaultFont(tFont);

表格欄位我只做了一格,每隔<td></td>就可以換下一行
而每隔<tr></tr>就可換下一列。

QStringsText="<table border=1 width=256><thead>";
sText+="<tr>";
sText+="<td align=center>["+sStr.toAscii()+"]</td></tr></thead><tbody>";

tdTextDoc->setHtml(sText);

接下來用QPrinter設定pdf格式

QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName(sFileName);
printer.setPageSize(QPrinter::B1);
 
printer.newPage();
tdTextDoc->print(&printer);
 


arrow
arrow
    全站熱搜

    力寶 發表在 痞客邦 留言(0) 人氣()