一、POI方式

1.先看word效果图

2.再看下在android上使用WebView显示的效果

 

3. 生成的html的代码,如下:

 <html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">.b1{white-space-collapsing:preserve;}
.b2{margin: 1.2590277in 1.0in 0.41944444in 1.1027777in;}
.s1{font-weight:bold;}
.p1{text-align:center;hyphenate:auto;font-family:Times New Roman;font-size:22pt;}
.p2{text-align:center;hyphenate:auto;font-family:Times New Roman;font-size:12pt;}
.p3{text-align:justify;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}
.p4{text-align:center;hyphenate:auto;font-family:Times New Roman;font-size:10pt;}
.td1{width:0.75625in;padding-start:0.0in;padding-end:0.0in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td2{width:5.4625in;padding-start:0.0in;padding-end:0.0in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td3{width:3.4208333in;padding-start:0.0in;padding-end:0.0in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td4{width:0.875in;padding-start:0.0in;padding-end:0.0in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td5{width:1.1666666in;padding-start:0.0in;padding-end:0.0in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.td6{width:6.21875in;padding-start:0.0in;padding-end:0.0in;border-bottom:thin solid black;border-left:thin solid black;border-right:thin solid black;border-top:thin solid black;}
.r1{keep-together:always;}
.r2{height:0.3236111in;keep-together:always;}
.r3{height:0.32430556in;keep-together:always;}
.t1{table-layout:fixed;border-collapse:collapse;border-spacing:0;}
</style>
<title>广东省药品生产企业现场检查表</title>
<meta name="author" content="张芳向 Netboy">
</head>
<body class="b1 b2">
<p class="p1">
<span class="s1">企业产品信息表</span>
</p>
<p class="p2"></p>
<table class="t1">
<tbody>
<tr class="r1">
<td class="td1">
<p class="p3">
<span>企业名称</span>
</p>
</td><td colspan="3" class="td2">
<p class="p3">
<span>$QYMC$</span>
</p>
</td>
</tr>
<tr class="r1">
<td class="td1">
<p class="p3">
<span>企业地址</span>
</p>
</td><td colspan="3" class="td2">
<p class="p3">
<span>$QYDZ</span>
</p>
</td>
</tr>
<tr class="r1">
<td class="td1">
<p class="p3">
<span>企业负责人</span>
</p>
</td><td colspan="3" class="td2">
<p class="p3">
<span>$QYFZR</span>
</p>
</td>
</tr>
<tr class="r1">
<td class="td1">
<p class="p3">
<span>法人代表</span>
</p>
</td><td class="td3">
<p class="p3">
<span>$FRDB</span>
</p>
</td><td class="td4">
<p class="p3">
<span>创建时间</span>
</p>
</td><td class="td5">
<p class="p3">
<span>$CJSJ</span>
</p>
</td>
</tr>
<tr class="r1">
<td class="td1">
<p class="p4">
<span>企业</span>
</p>
<p class="p4"></p>
<p class="p4">
<span>生产</span>
</p>
<p class="p4"></p>
<p class="p4">
<span>品种</span>
</p>
<p class="p4"></p>
<p class="p4">
<span>描述</span>
</p>
<p class="p4"></p>
<p class="p4">
<span>以及</span>
</p>
<p class="p4"></p>
<p class="p4">
<span>存在</span>
</p>
<p class="p4"></p>
<p class="p4">
<span>问题</span>
</p>
</td><td colspan="3" class="td2">
<p class="p3">
<span>$SCPZMSJWT</span>
</p>
</td>
</tr>
<tr class="r1">
<td class="td1">
<p class="p3">
<span> 结论</span>
</p>
<p class="p4">
<span>以及</span>
</p>
<p class="p4">
<span>解决</span>
</p>
<p class="p4">
<span>方法</span>
</p>
</td><td colspan="3" class="td2">
<p class="p3">
<span>$JLJJJFF</span>
</p>
</td>
</tr>
<tr class="r2">
<td colspan="4" class="td6">
<p class="p3">
<span>企业负责人签名:$QYFZRQM$</span>
</p>
</td>
</tr>
<tr class="r2">
<td colspan="4" class="td6">
<p class="p3">
<span>产品人员签名:$CPRWQM$</span>
</p>
</td>
</tr>
<tr class="r2">
<td colspan="4" class="td6">
<p class="p3">
<span>执法证号: $ZFZH$</span>
</p>
</td>
</tr>
<tr class="r3">
<td colspan="4" class="td6">
<p class="p3">
<span>备注:$BZ$</span>
</p>
</td>
</tr>
</tbody>
</table>
<p class="p3"></p>
<p class="p3"></p>
<p class="p3">
<img src="test/0.jpg" style="width:6.1604166in;height:3.85in;vertical-align:text-bottom;"></p>
</body>
</html>

4.在浏览器上显示也是不居中,如图:

5.根据上面的情况,方案1

  因为在手机上的table内容不能够居中。所以在table标签上增加一个属性 align="center"

<table align="center" class="t1">

然后,在浏览器上就可以居中显示了。如果这种方法可以实现,就是读脚本,然后找到<table class="t1">标签换成上面的代码即可。不过普适性就大大降低了。但是这种方法生成的html在Webview上显示依然是不居中。所以该方案被抛弃了。

二、jacob方式

  以前做J2EE的时候,用POI比较多,对这个不是太了解。网上直接度jacod,但是很难找到官方网站。http://danadler.com/jacob/ 这个才是它的官网。另附一个下载地址:https://sourceforge.net/projects/jacob-project/

  用as搭了环境,也写了点代码,但是问题出来了。最后发现,这样不行,似乎只能在Java环境中使用。

 02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: FATAL EXCEPTION: main
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: java.lang.ExceptionInInitializerError
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.tongyan.demo.MainActivity.word2Html(MainActivity.java:39)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.tongyan.demo.MainActivity.access$000(MainActivity.java:13)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.tongyan.demo.MainActivity$1.onClick(MainActivity.java:31)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.view.View.performClick(View.java:4095)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:16977)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:615)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:92)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jacob: findLibrary returned null
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at java.lang.Runtime.loadLibrary(Runtime.java:365)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at java.lang.System.loadLibrary(System.java:535)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.jacob.com.Dispatch.<clinit>(Dispatch.java)
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.tongyan.demo.MainActivity.word2Html(MainActivity.java:39) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.tongyan.demo.MainActivity.access$000(MainActivity.java:13) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.tongyan.demo.MainActivity$1.onClick(MainActivity.java:31) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.view.View.performClick(View.java:4095) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:16977) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:615) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:92) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
02-22 13:28:48.168 5793-5793/com.tongyan.demo E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method) 

参考资料:

  http://www.cnblogs.com/qingxinblog/p/3404051.html

  http://www.cnblogs.com/qingxinblog/articles/3399454.html

三、openoffice方式

最新文章

  1. 关于JavaScript中的delete操作
  2. 各种解析漏洞获取Webshell
  3. WinForm开发框架【细化权限至操作按钮】
  4. Visual Studio 下C#编译器在解析属性名时如果增加一个get_[您的另一个已经包含在类中属性名]的属性会报错,微软大哥这是什么鬼?
  5. PHP函数microtime()
  6. mvc edmx 的config文件
  7. CodeReview Learning
  8. 修改ip脚本
  9. .NET序列化的一点技巧
  10. haskell学习笔记_函数
  11. JavaScript原型链与继承
  12. ceSetThreadPriority设置线程优先级~!
  13. vpdn详细说明
  14. iOS-如何使用symbolicatecrash
  15. 怎么修改mysql中user表的密码????
  16. Android的Notification的简介-android学习之旅(四十一)
  17. redis5.0.4多实例安装
  18. JSP标签和JSTL
  19. Flutter环境搭建
  20. Linux一行命令处理批量文件

热门文章

  1. Sqli-labs less 1
  2. 【BZOJ 3672】 3672: [Noi2014]购票 (CDQ分治+点分治+斜率优化)**
  3. 【HDU 5730】Shell Necklace
  4. JZYZOJ1518 [haoi2011]b 莫比乌斯反演 分块 容斥
  5. 【置换群】【枚举约数】hdu6038 Function
  6. pymysql与mysql各功能
  7. [转]为什么匿名内部类参数必须为final类型
  8. Failed to Attach to Process ID Xcode 解决办法
  9. zk常见面试题
  10. 【fastJSON】利用fastJSON处理循环引用的问题