【发布时间】:2019-06-01 00:36:56
【问题描述】:
我们的 ERP 使用连接到数据库的 Java 客户端应用程序。
该应用程序可让您运行报告并打开 .csv 文件
但是,对于某些人来说,运行报告会按预期下载在 Microsoft Excel 中打开的文件。
对于其他人,运行报告会打开记事本并显示如下消息:
---------------------------
Notepad
---------------------------
'https:\\mycompany.domain.com\folder\report\customerreport_accom.csv?encodeduserpidm=VllIU1NKVVBUTFdUS05SNg==&term=2019AA&listtype=ALL&encodedstudid=' was not found.
Do you want to create a new document?
---------------------------
Yes No Cancel
---------------------------
点击“是”,会抛出这样的错误:
---------------------------
Notepad
---------------------------
File operation failed.
https:\\mycompany.domain.com\folder\report\customerreport_accom.csv?encodeduserpidm=VllIU1NKVVBUTFdUS05SNg==&term=2019AA&listtype=ALL&encodedstudid=
The filename, directory name, or volume label syntax is incorrect.
---------------------------
OK
---------------------------
我检查了引发错误的机器上的 Windows 文件关联,它们似乎是正确的。
.csv 文件设置为始终在 Excel 中打开。如果我在桌面上保存 .csv 并双击,它会在 Excel 中正确打开(不是记事本)
我们怀疑问题与用户的 Windows 配置文件有关,因为两个人登录到同一台计算机 - 一个看到错误,一个没有看到。
此外,当看到错误的人登录到 java 应用程序并运行报告时,它可以正常工作,因此不是 java 应用程序中的用户帐户。
谁能告诉我为什么像下面这样的 URL 会在记事本中打开? Windows 无法将其识别为 .csv:
https:\mycompany.domain.com\folder\report\customerreport_accom.csv?encodeduserpidm=VllIU1NKVVBUTFdUS05SNg==&term=2019AA&listtype=ALL&encodedstudid=
有趣的是,如果我将 URL 复制/粘贴到浏览器中,它始终可以正常工作,无论计算机或用户如何。
【问题讨论】:
-
这不是一个真正的编程问题,因为它归结为用户与 CSV 文件格式关联的应用程序。如果你想强制他们在 Excel 中打开它,你应该另存为 XLSX 格式。
-
很遗憾,因为创建报表的是Java应用程序,公司认为开发人员需要解决这个问题。文件关联在 Windows 中设置正确,但 Excel 没有为某些用户正确地从 URL 启动报告。如果有更好的 StackOverflow 网站来询问您可以建议的文件关联,我会去那里看看。
-
在这种情况下,我的建议是将其保存为 XLSX 而不是 CSV。
标签: java windows file web-applications file-association