`
tendy
  • 浏览: 47126 次
  • 来自: ...
社区版块
存档分类
最新评论

Excel文件转换为PDF文件

    博客分类:
  • java
阅读更多

贴一个 Excel 文件转换为 PDF 文件的代码,不知有没有人贴过

所需的 jar:itext2.0.4,jexcelapi 2.6.4,iTextAsian.jar, iTextAsianCmaps.jar

说明:

(1)不支持图表

(2)Excel文件中的图片只是简单的加入PDF文件,不做其他处理。因为PDF的 table 使用了百分比的宽度,如果要让PDF的图片的位置与 Excel 中的保持一致,要计算坐标。

(3)支持设置页头、页脚、显示页码。

(4)第一次运行时,装载字体需要 1-3秒的时间。

示例:

java 代码
  1. String source = "e:\\test2.xls";   
  2. String dest = "e:\\b.pdf";   
  3. Excel xls = new Excel(source);   
  4. xls.setReportHeaderStartRow(0); // Report header 开始行:第一行   
  5. xls.setReportHeaderEndRow(1);   // Report header 结束行:第二行   
  6. xls.setShowPageNumber(true);    // 设置显示页码   
  7. xls.setPageSize(PageSize.A4.rotate()); // 设置页大小   
  8. // 可以自定义显示页码风格   
  9. //xls.setPageNumberStyle("第 " + FooterText.SIGN_PAGE_NUMBER + " 页,共 " + FooterText.SIGN_TOTAL_NUMBER + " 页");   
  10. xls.setPageNumberStyle(FooterText.STYLE_PAGE_NUMBER_N_OFTOTAL_CH);   
  11. //xls.setPageNumberStyle("- " + FooterText.SIGN_PAGE_NUMBER + " / " + FooterText.SIGN_TOTAL_NUMBER + " -");   
  12. //xls.setPageNumberFontSize(20);   
  13. xls.setPageHeader(022); // 设置页头,第 1 个 sheet,第三行   
  14. xls.setPageHeader(101); // 设置页头,第 2 个 sheet,第 1-2 行   
  15.        
  16. xls.setPageNumberAlign(FooterText.ALIGN_CENTER);   
  17. FooterText text = new FooterText("(C)Some Corporation 2007 (GZ)");   
  18. text.setAlign(FooterText.ALIGN_LEFT);   
  19. text.setBold(true);   
  20. //text.setFontSize(20);   
  21. xls.addPageFooter(text);   
  22.        
  23. text = new FooterText("July 23, 2007");   
  24. text.setAlign(FooterText.ALIGN_RIGHT);   
  25. text.setBold(false);   
  26. //text.setFontSize(20);   
  27. xls.addPageFooter(text);   
  28.        
  29. Excel2PdfTransformer transformer = new Excel2PdfTransformer(xls);   
  30. transformer.write(dest);  
  • pdf.rar (20 KB)
  • 描述: Excel文件转换为PDF文件
  • 下载次数: 775
分享到:
评论
2 楼 zengjinliang 2007-10-17  
不错,收藏了~~~~
1 楼 fuwang 2007-08-02  
需要jdk5.
很不错啊,怎么是入门贴呢

相关推荐

Global site tag (gtag.js) - Google Analytics