String filePath = "E:/桌面/cesgi.vsdx";File file = new File(filePath);XmlVisioDocument xmlVisioDocument = new XmlVisioDocument(new FileInputStream(file));Collection<XDGFPage> pages = xmlVisioDocument.getPages();Iterator<XDGFPage> iterator = pages.iterator();//存储所有连线起点的集合List<String> startLine = new ArrayList<>();//存储所有连线起点的集合List<String> endLine = new ArrayList<>();//存储所有形状id和文字的集合HashMap<String, String> idAndName = new HashMap<>();//存储所有形状id和样式的集合HashMap<String, String> idAndStyle = new HashMap<>();//存储所有形状id和宽高的集合HashMap<String, String> idAndSize = new HashMap<>();while (iterator.hasNext()) {XDGFPage xdgfPage = iterator.next();XDGFPageContents content = xdgfPage.getContent();//所有包含文字的形状节点Collection<XDGFShape> shapes = content.getShapes();Iterator<XDGFShape> iterator1 = shapes.iterator();while (iterator1.hasNext()) {XDGFShape xdgfShape = iterator1.next();if (xdgfShape.hasText() && !xdgfShape.getText().getTextContent().equals("")) {//存储文字idAndName.put(Long.toString(xdgfShape.getID()), xdgfShape.getTextAsString());//存储形状类型idAndStyle.put(Long.toString(xdgfShape.getID()), xdgfShape.getName());//存储形状数据,xml结构中*100为业务需要idAndSize.put(Long.toString(xdgfShape.getID()), " <style x=\"" + Math.round(xdgfShape.getPinX() * 100) +"\" y=\"" + Math.round(xdgfShape.getPinY() * 100) +"\" width=\"" + Math.round(xdgfShape.getWidth() * 100) +"\" height=\"" + Math.round(xdgfShape.getHeight() * 100) +"\" as=\"style\"/>");}

可以实现对vsdx文件的实时读取,解析,将数据转化为自定义xml

java导入visio文件相关推荐

  1. JAVA 导入excel文件

    JAVA 导入excel文件 背景 –>struts2框架 –>from表单提交excel模板文件 –>java获取excel数据 步骤 1.获取excel文件 struts2 fr ...

  2. java txt数据导入excel,java导入excle文件《如何用java 将txt数据导入excel》

    如何用java 将txt数据导入excel 代码如下: import java.io.*; import jxl.*; import jxl.write.*; public class CreateX ...

  3. java导入csv文件时利弊,关于在自己写的应用上导入csv文件时踩过的坑

    1.因为字符串分割问题,一个疏漏导致Java java.lang.NumberFormatException: empty String: 2.涉及到文件编码问题而导致的乱码. image.png 首 ...

  4. java解析excel的js页面,Java导入Excel文件页面实现JS

    Excel导入: 页面创建导入按钮,如: 代码: 导入交易 JS: function upload(){ layer.open({ type : 2, //层类型 title :'导入文件', //标 ...

  5. java导入excel文件到服务器,javaexcel导出到远程服务器

    javaexcel导出到远程服务器 内容精选 换一换 该任务指导用户使用Loader将数据从Hive导出到关系型数据库.创建或获取该任务中创建Loader作业的业务用户和密码.确保用户已授权访问作业执 ...

  6. JAVA导入gpx文件_技术贴 | 如何将赛事路线导入 Garmin 设备(BaseCamp 篇)

    原标题:技术贴 | 如何将赛事路线导入 Garmin 设备(BaseCamp 篇) 近些年,越野挑战赛受到越来越多跑者的欢迎,虽翻山越岭.历尽艰辛,但跨过终点时的成就与满足是常人无法感受和体会到的.为 ...

  7. Java导入Excel文件日期解析成了中文问题解决

    Excel文件日期为2018-12-12,在解析出来的时候变成了 12-十二月-2018 cell.setCellType(Cell.CELL_TYPE_STRING);//根据不同类型转化成字符串 ...

  8. java导入excel文件工具,附面试题答案

    前言: 都说学历是敲门砖,是一点都没错,即使是在重技术轻学历的互联网企业,面试官对于学历越高的程序员初印象会更好,面试也会更顺利,而大部分专科学历的程序员,除非有过硬的技术,否则想要进入一二线互联网公 ...

  9. java大文件导入_java导入大文件数据的解决方案

    2018年11月5号于南昌 中海蓝域小区 卧榻伴音弦 最近在做项目,一个20G大小的文件,要按行读入到数据库,妈呀,有什么好方法吗? 20G如果按照行读入的方式,需要20多个小时才能入库成功.主要性能 ...

最新文章

  1. hdu 2047(递推)
  2. CDN应用进阶 | 正确使用CDN 让你更好规避安全风险
  3. Brainfuck解释器(C#)
  4. synchronized 和 lock 的区别
  5. python获取pc微信好友列表_python使用itchat获取微信好友列表
  6. Android开发笔记(四)字符串格式化
  7. docker版mysql的使用和配置(2)——docker版mysql的dockerfile
  8. 著名程序员 Eric S. Raymond :用 SaaS 是一种危险的愚蠢行为
  9. 21秋期末考试工程项目管理10324k2
  10. 4. PHP之活动记录
  11. docker设置开机自启动
  12. python曲线和直线的交点_求直线与分段线性曲线的交点
  13. 清华计算机系竞赛生比例,2018年五大学科竞赛保送生去向统计表(最新数据)
  14. 解决Windows10下java环境变量配置不生效的问题
  15. U-MEX and Increments
  16. Win10微软输入法取消繁体简体切换快捷键的方法
  17. Web-网上在线支付
  18. J1939 多包报文传输
  19. Unusual Sequences
  20. 电视2k和4k有什么区别

热门文章

  1. java人民币换欧元_关于java:用于存储货币汇率的设计
  2. oracle adg性能,ADG设计及优化的最佳实践
  3. 基于RS422通信的FPGA软件设计第二天
  4. 漂移的农民工,何处才是你的浮木
  5. wpf修改theme中的样式_WPF Mahapps.Metro 设置主题样式
  6. 亲测可用|亚信防毒墙网络版卸载图文教程
  7. 新产品设计和产品研发的流程有哪些?
  8. 看一遍就懂,详解java多线程——volatile
  9. sublime text3使用卡顿,代码提示卡顿终极解决办法
  10. 我如何在 Linux 上扫描家庭照片