admin管理员组

文章数量:1532657

2024年5月22日发(作者:)

项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现

方式整理如下:

一、了解Jacob

先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功

能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。这是一个开

始于1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献。

下载地址:

/project/?group_id=109543&package_id=118368

二、Jacob安装

1、我们解开下载的jacob_,在文件夹中找到和两个文件

2、将压缩包解压后,添加到Libraries中;

3、将放至“WINDOWSSYSTEM32”下面。

需要注意的是:

【使用IDE启动Web服务器时,系统读取不到,例如用MyEclipse启动Tomcat,

就需要将dll文件copy到MyEclipse安装目录的“jrebin”下面。

一般系统没有加载到文件时,报错信息为:“sfiedLinkError: no

jacob in ”】

三、使用Jacob转换Word,Excel为HTML

JAVA代码:

Java代码

1. import edReader;

2. import edWriter;

3. import ;

4. import putStream;

5. import tFoundException;

6. import iter;

7. import ption;

8. import treamReader;

9.

10. import XComponent;

11. import ch;

12. import t;

13.

14. public class TransformFiletoHtml

15. {

16. int WORD_HTML = 8;

17. int WORD_TXT = 7;

18. int EXCEL_HTML = 44;

19.

20. /**

21. * WORD转HTML

22. * @param docfile WORD文件全路径

23. * @param htmlfile 转换后HTML存放路径

24. */

25. public void wordToHtml(String docfile, String htmlfile)

26. {

27. ActiveXComponent app = new ActiveXComponent("ation"); /

/ 启动word

28. try

29. {

30. perty("Visible", new Variant(false));

31. Dispatch docs = perty("Documents").toDispatch();

32. Dispatch doc = (docs,"Open",,new O

bject[] { docfile, new Variant(false),new Variant(true) }, new int[1]).toDis

patch();

33. (doc, "SaveAs", , new Object[] {ht

mlfile, new Variant(WORD_HTML) }, new int[1]);

34. Variant f = new Variant(false);

35. (doc, "Close", f);

36. }

37. catch (Exception e)

38. {

39. tackTrace();

40. }

41. finally

42. {

43. ("Quit", new Variant[] {});

44. }

45. }

46.

47. /**

48. * EXCEL转HTML

49. * @param xlsfile EXCEL文件全路径

50. * @param htmlfile 转换后HTML存放路径

51. */

52. public void excelToHtml(String xlsfile, String htmlfile)

53. {

54. ActiveXComponent app = new ActiveXComponent("ation"); /

/ 启动excel

55. try

56. {

57. perty("Visible", new Variant(false));

58. Dispatch excels = perty("Workbooks").toDispatch();

本文标签: 文件系统项目转换路径