从路径名的csv创建可导航树

时间:2016-09-29 08:24:37

标签: javascript jquery excel-vba csv jstree

我们正在努力解决当前的大型迁移项目,并且正在将用户界面整合在一起。

我有一个来自旧系统的有效文件夹路径列表,如下所示:

/Programme1/Project1/WorkPackage1/Resources
/Programme1/Project1/WorkPackage1/Plans
/Programme1/Project1/WorkPackage1/Finance
/Programme1/Project1/WorkPackage1/Reporting
/Programme1/Project1/WorkPackage1/Documents
/Programme1/Project1/WorkPackage2/Resources
/Programme1/Project1/WorkPackage2/Plans
/Programme1/Project1/WorkPackage2/Finance
/Programme1/Project1/WorkPackage2/Reporting
/Programme1/Project1/WorkPackage2/Documents
/Programme1/Project2/WorkPackage1/Resources
/Programme1/Project2/WorkPackage1/Plans
/Programme1/Project2/WorkPackage1/Finance
/Programme1/Project2/WorkPackage1/Reporting
/Programme1/Project2/WorkPackage1/Documents
/Programme2/Project1/WorkPackage1/Resources
/Programme2/Project1/WorkPackage1/Plans
/Programme2/Project1/WorkPackage1/Finance
/Programme2/Project1/WorkPackage1/Reporting
/Programme2/Project1/WorkPackage1/Documents
/Programme2/Project1/WorkPackage2/Resources
/Programme2/Project1/WorkPackage2/Plans
/Programme2/Project1/WorkPackage2/Finance
/Programme2/Project1/WorkPackage2/Reporting
/Programme2/Project1/WorkPackage2/Documents
/Programme2/Project2/WorkPackage1/Resources
/Programme2/Project2/WorkPackage1/Plans
/Programme2/ Project2/WorkPackage1/Finance
/Programme2/Project2/WorkPackage1/Reporting
/Programme2/Project2/WorkPackage1/Documents

目前这些都在csv中,我们需要能够创建一个可导航的对象,用户可以使用该对象浏览以查找相关文档。

enter image description here

我们有很多问题:

  1. csv
  2. 中有114000多行
  3. 我们知道子文件夹的最大数量,并且它很大(手动编码太多了!)。
  4. 列表中有特殊字符,包括变音符号,法语重音字符+希腊字母字符...
  5. 列表的公平数量(2000+)行超过400个字符..
  6. 我们还限制了我们可以使用的工具。我们一直在玩json / jquery / jstree / javascript / excel-vba并且取得了一些成功,但它很痛苦。
  7. 如果那里的任何人遇到过类似的挑战并取得任何成功,我有兴趣了解你是如何进行的!

    感谢您的光临。

    Fohls

2 个答案:

答案 0 :(得分:0)

如果我是你,我会将csv中的平面路径转换为树形结构并将其存储在数据库中。这基本上是您拥有的信息,但没有csv中的冗余。从那里它非常直接地将其转换为演示形式。 Jstree是一个不错的选择。不应该花很长时间才能完成并运行。

答案 1 :(得分:0)

解决方案是创建一个包含单个列中所有文件夹路径的迷你数据库(1个表),以及它们的父项以及它们是否有子项(使用VBA计算...)

然后我们使用REST调用来拉回与我们点击的节点相关的路径/节点,然后将它们推送到页面上的javascript函数中,然后转换为JSON,然后在JSTREE中使用它们!

痛苦但它的确有效......现在我们点击一​​下即可了解如何进行悸动......