创建自动化以从.xlsx文件中删除工作簿密码

时间:2016-09-28 13:43:57

标签: java php sql excel xslt

我有一个调度程序每天都在FTP中发送文件。这些文件采用excel格式,并且每个文件都有一个密码(工作簿密码)。

我想创建一个自动删除文件中的密码。我想到只需使用密码打开文件然后保存它。我猜这不会将密码保存在新文件中。

我尝试过(为此目的在这里买票)使用PHPExcel和MACRO复制它但没有成功。在PHP中没有命令,在MACRO中,我需要打开文件来运行MACRO。

所以,从我发现的唯一解决方案是使用 JExcel API

此脚本应该有效:

Workbook workbook = Workbook.getWorkbook(new File("/path/to/protected.xls"));
workbook.setProtected(false);
WritableWorkbook copy = Workbook.createWorkbook(new File("/path/to/unprotected.xls"), workbook);
WritableSheet[] sheets = copy.getSheets();

for (WritableSheet sheet : sheets){
    sheet.getSettings().setProtected(false);
}

copy.write();
copy.close();

但我不知道如何让它运行。我可以创建一个PHP文件,我将包含此脚本吗?在PHP文件中,我也能够包含SQL代码。这可能与Java有关吗?

我多年没有使用Java了,我不记得是否可以通过创建一个文件来运行它。我将不得不下载该软件,并使用我猜的类运行它。但我只想在我的服务器中运行一个文件,该文件将获取受保护的文件并保存(没有密码)。

欢迎任何想法,我可以相应地更新问题。

干杯

1 个答案:

答案 0 :(得分:0)

您可以通过创建可执行jar文件使程序自行执行。

您使用IDE编写程序吗?有多种方法可以为您生成它们。