javascript - 如何在客户端操作 Excel 文件
问题描述
我是 php 和 javascript 的新手,所以我什至不确定我能否正确地公开我的案例。
我有一个 php 表单,客户端在他的浏览器上选择选项。
提交时,需要客户端浏览器从另一个域下载 excel 文件(我无法控制第二个服务器响应)。
它必须在客户端完成,因为只有用户才能访问第二个域(在本地网络内或通过 VPN 从 Internet 访问)。
我设法使用以下javascript强制下载:
function download(dataurl,filename) {
var a = document.createElement("a");
a.href = dataurl;
a.download = filename;
a.click();
window.URL.revokeObjectURL(dataurl);
a.remove();
}
download(url,filename);
文件名什么都不做,因为文件是用服务器发送的名称保存的。
下载文件后,我仍然需要重命名并将其移动到特定的网络目录(只能由客户端访问)。
我不能使用 js fetch,因为浏览器使用 CORS 阻止了下载。
由于安全原因,我什至不确定这是否可能。
任何帮助将非常感激。
解决方案
“我仍然需要重命名并将其移动到特定的网络目录”
...您不能从 JavaScript 中做到这一点,出于安全原因,在浏览器中运行的 JavaScript 无法访问其运行的设备的文件系统。
你所能做的就是给出他们需要做什么的指示。如果这不令人满意,那么您需要将此项目实现为桌面应用程序,而不是 Web 应用程序。
推荐阅读
- c - 为什么while循环之后的任何代码都没有输出?
- sqlite - 如何为搜索/排序自定义索引 blob 数据?
- dart - 飞镖中列表元素之间的空格
- python - 如何通过python循环修改xml文件中的单个属性而不覆盖整个文件?
- sql-server - 我在哪里可以配置“默认服务器设置”?
- docker - 如何检查 Kubernetes 集群中剩余的内核数和内存容量
- c - C程序查询
- python - 基于列值的熊猫列转换比迭代更快?
- java - Azure Synapse - 如何检索元数据信息以通过 JDBC 生成我自己的 CREATE TABLE 语句
- probability-density - 概率-最大似然/图论