一、模版修改
在導(dǎo)出表時(shí),powerdesigner默認(rèn)為我們提供了很多的模版,在工具欄中選擇【Report--->Report Template】即可看到所有的默認(rèn)模版。如圖一:
圖一 模版列表
這里我們?yōu)榱藢?dǎo)出powerdesigner中創(chuàng)建的表,在工具欄中選擇【Report--->Reports】(快捷鍵Ctrl+E),然后創(chuàng)建一個(gè)New Report,如下圖二所以,選擇Standard Physical Report,這里選擇的標(biāo)準(zhǔn)的模版,點(diǎn)擊OK確定。
圖二 創(chuàng)建新的Report
從工具欄【Report--->Print Preview】或者點(diǎn)擊圖標(biāo)同樣可以預(yù)覽導(dǎo)出到word的效果了。效果如圖三所示:
圖三 導(dǎo)出到word中預(yù)覽效果
從【圖三】中的工具欄里面HTM和RTF兩種導(dǎo)出格式。如果導(dǎo)出到word選擇RTF格式即可,但是我們從【圖三】中看出紅色標(biāo)出的部分,1 是word的頁(yè)眉,同樣還有頁(yè)腳信息 ,2 是一些列的屬性清單。
圖四 設(shè)置頁(yè)眉、頁(yè)腳
在【圖四】中,選擇Header/Footer后,刪掉Header里面的%MODULE% %MODELNAME%,刪掉Footer里面的%APPNAME% %DATE% 頁(yè)數(shù) %PAGE%,User_defined footer就會(huì)自動(dòng)勾上,這樣就去掉了頁(yè)眉、頁(yè)腳了
還有其他的比如表前面的自增序號(hào),第一頁(yè)中的創(chuàng)建者、版本、日期信息也不需要,我們可以進(jìn)行配置去掉,如下【圖五】【圖六】
圖四
圖五 Properties配置
在圖五中,在默認(rèn)配置中(General)勾上No paragraph numbering即可取消表前面的自增序號(hào),在Title Page中選擇 No Title Page就不會(huì)生成第一頁(yè)中關(guān)于創(chuàng)建者、版本、日期等信息。
在【圖三】中,預(yù)覽看到的內(nèi)容太多,就必須刪除一些我們不需要的內(nèi)容,經(jīng)過(guò)刪減之后,如下【圖六】所示
圖六
在【圖六】中右鍵單擊【List of Table Columns - 表<%PARENT%>列說(shuō)明】,從菜單中選擇 Edit Title...,就可以編輯成現(xiàn)在我們已看到的。然后,在右鍵菜單中選擇Layout...,選擇我們所需要顯示的內(nèi)容,Code表示列名稱,一般用英文單詞或拼音字母表示,Name一般用中文描述,Data Type 表示數(shù)據(jù)類型,Comment表示字段備注或字段說(shuō)明等。
到此基本上已經(jīng)完成了powerdesigner模版的修改
二、導(dǎo)出表
然后點(diǎn)擊[Report---->Generate RTF]導(dǎo)出到word中,最后我們看看導(dǎo)出到word的效果,如下圖:
圖七 導(dǎo)出到word效果
三、保存模版
通過(guò)上文,我們完成了自己所需的模版,然后就保存,以后可以直接使用即可,在工具欄中[Report--->Create Template From Section],然后Ctrl+S就會(huì)要求保存,取名保存即可。
public static List<String> executeQuery(String sql,String columns) {
try {
Connection conn = getConnection();
Statement st = conn.createStatement();
ResultSet set = st.executeQuery(sql);
List<String> result = new ArrayList<String>();
while (set.next()) {
String[] columnList = columns.split(",");
for(String str:columnList){
result.add(set.getString(str));
}
}
set.close();
st.close();
conn.close();
return result;
} catch (SQLException e) {
throw new IllegalArgumentException(e);
}
}
public static Connection getConnection() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String url = "jdbc:jtds:sqlserver://localhost:1433;DatabaseName=jdl";
String username = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url, username,
password);
return conn;
} catch (Exception e) {
throw new IllegalArgumentException(e);
}
}