word匯出手機端亂碼或者打不開解決辦法
word匯出手機端亂碼或者打不開解決辦法
前言:
本次匯出還是使用之前freemarker模板匯出word,這次出現手機端打不開是因為手機上的wps版本比較低,因為親測ios和安卓系統都能開啟,但是wps10版本的開啟是原始碼或者亂碼,所以找到了兩種解決方案可以在低版本wps和microsoft office的手機上開啟。
因為是省廳內網,手機上的應用是統一管理的,就當與內網裡面有個應用市場,不是你說更新就更新,而且要提交一大串的申請。
先看之前的兩種方式匯出word:
1.freemarker模板匯出word迴圈圖片表格詳細教程
這個可以電腦端 ios和安卓高版本的wps開啟。
2.freemarker模板匯出帶表格word詳細教程
這個可以在電腦端和ios開啟,安卓手機不管什麼wps版本開啟都亂碼。
解決思路:
其實上述的方法最終並不是純正的word,只是xml格式的word文件,我們們需要吧生成後的文件轉換成真正的word格式,才能在老版本的wpsh和microsoft office等應用開啟。解決辦法還是有好幾種的。
解決辦法:
一:利用jacob動態連結庫進行轉存,此方法只適用於winodws,不適用Linux。
1.下載jacob-1.18-x64.dll
2.1.8之前放置在jdk/bin目錄下,重新啟動專案即可(jdk1.8放置在jdk/jre/bin ),有多種辦法,我用的簡單的一種。
3.上程式碼demo:
public static String createNewWord(String path) {
/**這個path是原來的生成的地址*/
ActiveXComponent _app = new ActiveXComponent("Word.Application");
_app.setProperty("Visible", Variant.VT_FALSE);
Dispatch documents = _app.getProperty("Documents").toDispatch();
// 開啟FreeMarker生成的Word文件
Dispatch doc = Dispatch.call(documents, "Open",path, Variant.VT_FALSE, Variant.VT_TRUE).toDispatch();
// 另存為新的Word文件
String newPath ="D:/daye.doc";
Dispatch.call(doc, "SaveAs", newPath, Variant.VT_FALSE, Variant.VT_TRUE);
Dispatch.call(doc, "Close", Variant.VT_FALSE);
_app.invoke("Quit", new Variant[] {});
ComThread.Release();
return newPath;
}
二:利用Spire.Doc元件讀取與寫入Word
1.下載jar包:
2.pom引入:`
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>`
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>3.11.0</version>
</dependency>
3.實戰編碼:也就是把之前的word轉存下
##savePath是之前的地址 savePathResult是轉完存的地址
Document document = new Document(savePath);
document.saveToFile(savePathResult, FileFormat.Docx);
三.利用XWPFDocument 或者HWPFDocument 轉換生成word
1.pom檔案
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.16</version>
</dependency>
2.實戰編碼:
try{
OPCPackage open = OPCPackage.open("D:\\home\\ketech\\zj_zby\\zj_zby\\log\\appfile\\20201127101756\\202011275666受害人現勘筆錄.doc");
XWPFDocument xwpfDocument =new XWPFDocument(open);
FileOutputStream out = new FileOutputStream("D:\\hello.doc");
xwpfDocument.write(out);
System.out.println("eee");
// Document document = new Document("D:\\2020.doc");
// document.saveToFile("BBB.docx", FileFormat.Docx_2013);
//
// System.out.println("eee");
// FileInputStream in = new FileInputStream("D:\\2020.doc");
// XWPFDocument document = new XWPFDocument(in);
// HWPFDocument doc = new HWPFDocument(in);
// CharacterProperties props = new CharacterProperties();
// FileOutputStream out = new FileOutputStream("D:\\hello.doc");
// doc.write(out);
// out.flush();
// out.close();
}
catch (Throwable t)
{
t.printStackTrace();
}
總結
其實上述三種方法都需要在進行操作一次原文件,最好的辦法當然是更新手機應用版本,實在不行再這幾個方法,而且這幾種方法每個裡面還有其他操作文件的方法,就看你怎麼結合實際應用。
後記
內網WPS版本統一升級了。。。。。就當自己鍛鍊升級好了,差不多花了四五天時間。
相關文章
- Word文件加密打不開怎麼辦 Word解除密碼的三種解決辦法加密密碼
- 【Salesforce問題解決】Dataloader匯出的檔案亂碼或者問號的解決辦法Salesforce
- 有些網站打不開 某些網站打不開的解決辦法網站
- u盤打不開怎麼辦 可移動磁碟打不開的解決辦法
- EBS 11i form打不開解決辦法ORM
- IE打不開網頁的原因與解決辦法網頁
- 網路正常網頁打不開的解決辦法網頁
- Springmvc中文亂碼解決辦法SpringMVC
- centos 中文亂碼解決辦法2CentOS
- win10為什麼電腦word打不開_win10 word打不開的解決方法Win10
- w10word為什麼打不開如何解決_win10word文件突然打不開了怎麼辦Win10
- win10打不開word怎麼辦_win10開啟word無響應的解決方法Win10
- flashfxp 亂碼,2種辦法解決flashfxp 亂碼問題
- datastage抽取工程中文亂碼解決辦法AST
- win10打不開word文件怎麼辦 win10word打不開怎麼修復Win10
- MySQL匯入資料亂碼、出錯等問題的解決辦法MySql
- Mac本軟體安裝之後打不開的解決辦法Mac
- Win10滑鼠打不開螢幕右邊框解決辦法Win10
- 副檔名為.chm的檔案打不開的解決辦法
- Excel表格打不開的解決方法 電子表格打不開怎麼辦?Excel
- php json提交亂碼的解決辦法PHPJSON
- MYSQL資料庫匯入資料時出現亂碼的解決辦法MySql資料庫
- win10所有word文件都打不開如何解決_win10電腦所有word文件無法開啟解決教程Win10
- Excel開啟csv檔案出現亂碼的解決辦法Excel
- win10系統E盤和F盤打不開解決辦法Win10
- 新增刪除程式打不開怎麼辦 新增刪除程式報錯解決辦法
- 管理工具匯入CSV檔案,中文資料亂碼的解決辦法。
- LoadRunner中文出現亂碼的解決辦法
- html裡顯示中文亂碼的解決辦法HTML
- win10開始選單無法開啟怎麼辦_win10打不開開始選單解決辦法Win10
- EndNote匯入文獻出現帶有大括號{}亂碼的解決辦法
- win10系統電腦開始選單欄打不開的解決辦法Win10
- 打不開HTTPS網頁的解決方案 解決打不開HTTPS 打不開安全網頁 無法開啟HTTPS 修復開啟HTTPSHTTP網頁
- gist 打不開,解決方式
- Word 開啟WPS文件成亂碼的解決方法(轉)
- word中打不開“特殊符號”對話方塊的解決方法符號
- win10控制皮膚不執行怎麼辦_win10控制皮膚打不開解決辦法Win10
- windows7忘記開機密碼解決辦法Windows密碼