您现在的位置是:首页 > 编程语言学习 > 后端编程语言 > 文章正文 后端编程语言

java如何使用aspose实现对word文档的操作

2022-05-30 10:05:27 后端编程语言

简介我们知道aspose是可以插入word文档的,那么我们如何在java中使用aspose实现对word文档的操作呢?下面就来给大家分享一下操作方法。

我们知道aspose是可以插入word文档的,那么我们如何在java中使用aspose实现对word文档的操作呢?下面就来给大家分享一下操作方法。

一、引入依赖

1、以下代码写入pom中

  1.   
  2. aspose.words 
  3. aspose-words 
  4. 15.8.0 
  5. system 
  6. ${project.basedir}/libs/aspose-words-15.8.0-jdk16.jar 
  7.  

2、项目里建个libs文件夹,然后把你的包或者从我这里下载的包粘贴进去

3、公共核心类:

  1. import com.aspose.words.Document; 
  2. import com.aspose.words.DocumentBuilder; 
  3. import com.aspose.words.License; 
  4. import org.springframework.stereotype.Component; 
  5. import java.io.InputStream; 
  6. import java.util.Map; 
  7. @Component 
  8. public class AsPoseWordUtil { 
  9. private static License aposeLic = new License(); 
  10. private static boolean getlic(){ 
  11. if(!aposeLic.getIsLicensed()){ 
  12. InputStream is = AsPoseWordUtil.class.getClassLoader() 
  13. .getResourceAsStream("asp-license/config.xml"); 
  14. try { 
  15. aposeLic.setLicense(is); 
  16. catch (Exception e) { 
  17. e.printStackTrace(); 
  18. return false
  19. return true
  20.  
  21. /** 
  22.  * 定位书签替换内容 
  23.  * @param docUrl 文件路径 
  24.  * @param savePath 保存路径 
  25.  * @param wordMap 
  26.  * @throws Exception 
  27.  */ 
  28. public static void BookMarkReplace(String docUrl,String savePath,Map wordMap) throws Exception 
  29. if(!getlic()){ 
  30. System.out.print("获取证书失败"); 
  31. Document doc = new Document(docUrl); 
  32. DocumentBuilder builder = new DocumentBuilder(doc); 
  33. //将数据插入到书签中 
  34. for(Map.Entry item:wordMap.entrySet()) { 
  35. String keyVal = item.getKey(); 
  36. String val = item.getValue(); 
  37. builder.moveToBookmark(keyVal); 
  38. builder.write(val); 
  39. doc.save(savePath); 
  40.  
  41.  
  42. public static void CreateTable(String docUrl,String saveUrl, String bookmark,String[][] data) throws Exception { 
  43. if(!getlic()){ 
  44. System.out.print("获取证书失败"); 
  45. Document doc = new Document(docUrl); 
  46. DocumentBuilder builder = new DocumentBuilder(doc); 
  47. //移动到该书签位置 
  48. builder.moveToBookmark(bookmark); 
  49. //创建table 
  50. builder.startTable(); 
  51. for(int i = 0;i
  52. for(int j=0;j
  53. //创建单元格 
  54. builder.insertCell(); 
  55. //创建单元格 
  56. builder.write(data[i][j]); 
  57. //结束当前行 
  58. builder.endRow(); 
  59. //结束当前表格 
  60. builder.endTable(); 
  61. doc.save(saveUrl); 

4、配置类,放到resources下,我的目录是见上面的图2,此处不再赘述

  1.  
  2.  
  3.  
  4. Aspose.Total for Java 
  5. Aspose.Words for Java 
  6.  
  7. Enterprise 
  8. 20991231 
  9. 20991231 
  10. 23dcc79f-44ec-4a23-be3a-03c1632404e9 
  11.  
  12. 0nRuwNEddXwLfXB7pw66G71MS93gW8mNzJ7vuh3Sf4VAEOBfpxtHLCotymv1PoeukxYe31K441Ivq0Pkvx1yZZG4O1KCv3Omdbs7uqzUB4xXHlOub4VsTODzDJ5MWHqlRCB1HHcGjlyT2sVGiovLt0Grvqw5+QXBuinoBY0suX0= 
  13.  

5、测试类

  1. public static void main(String args[]) throws Exception { 
  2. String docUrl = "D:/ideaworkspace/files/template/test.docx"
  3. String saveUrl = "D:/ideaworkspace/files/template/test1.docx"
  4. Map dataMap = new HashMap(); 
  5. dataMap.put("zxm_option","草泥马a"); 
  6. dataMap.put("zxm_idea","拉到了裤子里"); 
  7. AsPoseWordUtil.BookMarkReplace(docUrl,saveUrl,dataMap); 
  8. String[][] data = { 
  9. new String[]{"序号","姓名","性别","联系方式"}, 
  10. new String[]{"1","朱晓明","男","123"}, 
  11. new String[]{"2","潘周丹","女","321"
  12. }; 
  13. AsPoseWordUtil.CreateTable(docUrl,saveUrl,"zxm_table",data); 
  14. System.out.print("success"); 

6、图片的有空再整,目前干货到这,大家采集用吧。

相关文章

站点信息