FileSystemView systemView = FileSystemView.getFileSystemView();
File homeDirectory = systemView.getHomeDirectory();
//桌面路径
String path = homeDirectory.getPath();
String fileLocation = path +"\\"+ "操作日志.xlsx";
FileOutputStream outputStream = new FileOutputStream(fileLocation);
workbook.write(outputStream);
workbook.close();
windows环境导出excel好用,部署到linux不好使。保存到桌面上的
根据您提供的代码,似乎问题出在文件路径的拼接上。在 Windows 上,文件路径使用的是反斜杠 "",而在 Linux 上,文件路径使用的是正斜杠 "/"。因此,如果您的代码在 Windows 上可以正常运行,在 Linux 上可能会出现路径错误的问题。
为了解决这个问题,您可以考虑使用 Java 中的 File.separator 属性,它会自动根据操作系统的类型返回相应的路径分隔符。例如,您可以将代码中的:
String fileLocation = path +"\\"+ "操作日志.xlsx";
修改为:
String fileLocation = path + File.separator + "操作日志.xlsx";
另外,还需要注意的是,在 Linux 系统中,可能会因为文件权限的问题而导致文件无法写入。因此,您还需要确保程序运行的用户具有足够的权限来写入指定的文件路径。
是权限不允许,还是?报的什么错误
有可能是你的路径有问题,C:\Users\Administrator\Desktop 在Linux下不是合法的路径,Linux下的路径一般是 /home/samba/workDir 这类型的,建议改个路径试试看
不知道你这个问题是否已经解决, 如果还没有解决的话: