1. 程式人生 > >使用iText匯出Word(含有Table)示例

使用iText匯出Word(含有Table)示例

使用iText匯出Word,需要的Jar包有iText-2.1.7.jar,iTextAsian.jar,iText-rtf-2.1.7.jar

  Expert expert=new  Expert();

.......expert的一些屬性省略

  String fileName=new String(("專家資訊-"+expert.getName()).getBytes("GBK"),"ISO-8859-1");//檔名稱
  response.setContentType("application/doc;charset=utf-8");
  response.setHeader("Content-disposition", "attachment;filename=" + fileName+".doc");//檔案標題,開啟型別  
  com.lowagie.text.Rectangle rect=new com.lowagie.text.Rectangle(com.lowagie.text.PageSize.A4);//設定頁面
  rect.setBackgroundColor(Color.WHITE);//設定背景色
  com.lowagie.text.Document document=new com.lowagie.text.Document(rect);//建立檔案
  document.setMargins(10, 20, 30, 40);//頁邊距
  RtfWriter2 writer2=RtfWriter2.getInstance(document, response.getOutputStream());//建立書寫器與document關聯

  // 文件屬性 
        document.addTitle("[email protected]"); // 標題 
        document.addAuthor("[email protected]");// 作者 
        document.addSubject("[email protected] sample");// 主題 
        document.addKeywords("[email protected]");// 關鍵字 
        document.addCreator("[email protected]

");// 建立者 
       
        //設定字型
        com.lowagie.text.pdf.BaseFont bfChinese=com.lowagie.text.pdf.BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        com.lowagie.text.Font fontChinese=new com.lowagie.text.Font(bfChinese, 8, Font.NORMAL);// 建立字型,設定family,size,style,還可以設定color
        com.lowagie.text.Font titleChinese=new com.lowagie.text.Font(bfChinese, 20, Font.BOLD);
        com.lowagie.text.Font BoldChinese = new com.lowagie.text.Font(bfChinese, 14, Font.BOLD); 
        com.lowagie.text.Font subBoldFontChinese = new com.lowagie.text.Font(bfChinese, 8, Font.BOLD); 
       
        //新增標題
        document.open();
        com.lowagie.text.Paragraph title=new com.lowagie.text.Paragraph("專家資訊",titleChinese);
        title.setAlignment(Element.ALIGN_CENTER);
        //title.setLeading(1f);
        document.add(title);
       
        //生成表格
        float[] widths = {25f, 30f, 30f,25f,25f,25f };// 設定表格的列寬和列數 預設是4列 
        Table table=new Table(6);
        table.setWidths(widths);
        //table.setSpacing(20f); 
        //table.setWidth(100);// 設定表格寬度為100%  
       
        Cell cell=null;
        cell=new Cell(new com.lowagie.text.Paragraph("姓名", subBoldFontChinese));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
        table.addCell(cell);
        cell=new Cell(new com.lowagie.text.Paragraph(expert.getName(), fontChinese));
        table.addCell(cell);
        cell=new Cell(new com.lowagie.text.Paragraph("性別", subBoldFontChinese));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
        table.addCell(cell);
        cell=new Cell(new com.lowagie.text.Paragraph(expert.getGender(), fontChinese));
        table.addCell(cell);
        cell=new Cell(new com.lowagie.text.Paragraph("身份證號", subBoldFontChinese));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
        table.addCell(cell);
        cell=new Cell(new com.lowagie.text.Paragraph(expert.getCitizenNumber(), fontChinese));
        table.addCell(cell);

        document.add(table);
        document.close();

相關推薦

使用iText匯出Word含有Table示例

使用iText匯出Word,需要的Jar包有iText-2.1.7.jar,iTextAsian.jar,iText-rtf-2.1.7.jar   Expert expert=new  Expert(); .......expert的一些屬性省略   String fil

使用POI匯出Word含表格的實現方式及操作Word的工具類

轉載請註明出處:https://www.cnblogs.com/sun-flower1314/p/10128796.html  本篇是關於利用Apache 的POI匯出Word的實現步驟。採用XWPFDocument匯出Word,結構和樣式完全由程式碼控制,操作起來還是非常的不太方便,只能夠建立簡

PE檔案學習筆記匯出Export Table解析

資料目錄(Data Directory)有16個_IMAGE_DATA_DIRECTORY結構體元素,該結構體陣列是可選PE頭中最後一個成員。這十六個元素分別儲存了不同資訊,分別是:匯入表、匯出表、資源、異常資訊、安全證書、重定位表、除錯資訊、版權所有、全域性指

Itext 匯出PDF中文解決,HTML轉PDF

iText是著名的開放原始碼的站點sourceforge一個專案,是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。 iText的安裝非常方便,下載iText.jar檔案後,只需要在系統的

java使用freemarker模板匯出word帶有合併單元格文件

前言:最近要做一個匯出word功能,其實網上有很多的例子,但是我需要的是合併單元格的,可是查了好久都沒有自己想要的。研究了幾天其實挺簡單的,在這兒我就簡單的介紹一下吧!(此方法只是一種思路,借鑑者還有根據需求來具體寫程式碼) 一、準備工作 1、jar包:freemarker

使用FreeMarker匯出複雜的Word具體實現

(1)使用freemarker,首先在pom.xml裡新增meaven依賴,如下圖: (2)建立一個Word文件,在這裡我使用model.doc檔案,在需要替換的地方使用”${XXX}”,PS:需要注意的是:書寫”${XXX}”的時候,必須從左至右一個個書

java匯出2007版worddocx格式freemarker + xml 實現

Freemarker+xml生成docx 原理概述:word從2003版就支援xml格式,而freemarker是java封裝的模板工具,兩者結合也就是在xml中需要動態生成的部分呼叫freemarker的指令(類似於EL表示式),來生成我們需要的資料,再用流輸出檔案,就達

55.storm 之 hello word本地模式

pro collector base 執行 top 命令 type utc isp strom hello word 概述 然後卡一下代碼怎麽實現的: 編寫數據源類:Spout。可以使用兩種方式:繼承BaseRichSpout類實現IRichSpout接口主要需要實現或

Spring MVC-視圖解析器View Resolverr-多重解析器Multiple Resolver示例轉載實踐

quest springmvc tab type elm utf servle err path 以下內容翻譯自:https://www.tutorialspoint.com/springmvc/springmvc_multiple_resolver_mapping.htm

Postgresql中臨時表temporary table的特性和用法

.net 他會 acl tmp 就會 fonts 功能 不能 聲明 熟悉Oracle的人,相比對臨時表(temporary table)並不陌生,很多場景對解決問題起到不錯的作用,開源庫Postgresql中,也有臨時表的概念,雖然和Oracle中臨時表名字相同,使用方法和

leetcode-819-Most Common Word詞頻統計

may graph after ons most p s size nor 累加 題目描述: Given a paragraph and a list of banned words, return the most frequent word that is not in

UVALive - 3942 Remember the Word Trie + DP

The trie pri turn print %d txt esp 註意 題意: 給定一篇長度為L的小寫字母文章, 然後給定n個字母, 問有多少種方法用這些字母組成文章。 思路: 用dp[i]來表達[i , L]的方法數, 那麽dp[i] 就可以從dp[len(x) +

ST算法Sparse Table

st算法 nbsp memset can cpp 最大 給定 sparse 繼續 RMQ問題: 給定一個序列,每次詢問一個區間最小值 / 最大值。 沒有修改。 //拿區間最大值來舉例。 memset(ans, -INF, sizeof(ans));

SpringCloud把xml報文匯出Excelcsv格式文件

    匯出excel報表之類,相信有過1~2年開發經驗的至少都做過了。但是大多應該都是傳統的SSH或SSM架構,相對於在最近流行的SpringCloud分散式架構上做類似匯出,可能經歷不是那麼多。   鄙人做過的匯出excel報表,有2種方案: &n

python學習之網站的編寫HTML,CSS,JS十七----------示例,構造一個網頁的框架,上部標題,登入,logo,左側選單,右側內容,原始碼

結果: 顏色為了明顯,所以較為難看,可以根據自己的需要進行更改 原始碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title

python學習之網站的編寫HTML,CSS,JS十六----------示例,構造一個左側管理選單的功能,點選主選單才顯示下面的內容

結果: 程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>逆水行舟不進則退</title>

python學習之網站的編寫HTML,CSS,JS十五----------示例,彈出一個背景為半黑色,前面是白框的彈窗功能已經編好的框架

效果圖,程式碼直接可應用,按自己的需要在其中加入想要的內容:  程式碼及講解: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

SpringMVC下載word非poi

/** * 下載檔案功能 * @param request * @param response * @param model */ @RequestMapping("download.action") public void d

【機器人學】機器人開源專案KDL原始碼學習:3機器人操作空間路徑規劃(Path Planning)和軌跡規劃Trajectory Planning示例

很多同學會把路徑規劃(Path Planning)和軌跡規劃(Trajectory Planning)這兩個概念混淆,路徑規劃只是表示了機械臂末端在操作空間中的幾何資訊,比如從工作臺的一端(A點)沿直線移動到另一端(B點)。而軌跡規劃則加上了時間律,比如它要完成的任務是從A點開始到B點結束,中間

手把手教你如何用Python從PDF檔案中匯出資料附連結

有很多時候你會想用Python從PDF中提取資料,然後將其匯出成其他格式。不幸的是,並沒有多少Python包可以很好的執行這部分工作。在這篇貼子中,我們將探討多個不同的Python包,並學習如何從PDF中提取某些圖片。儘管在Python中沒有一個完整的解決方案,你還是應該能夠運用這裡的技能開始上手。