javascript - Exceljs不加载静态文件
问题描述
我需要在 excel 中生成接收到的数据,但是我遇到了访问服务器上的静态文件的问题
我使用 NuxtJS + VUE 一个静态 Excel 文件位于我的 /static 文件夹中
/static/Excel.xlsx
/static/Word.docx
如果我尝试通过 FileReader () 访问,则会收到错误消息
var workBook = new Excel.Workbook();
workBook.xlsx.readFile("/Excel.xlsx").then(function() {
const ws = workbook.getWorksheet("Sheet1");
cell = ws.getCell("A1").value;
console.log(cell);
});
错误:
TypeError: Cannot read property 'F_OK' of undefined
正如我从讨论中了解到的那样,此错误与浏览器安全性有关。我不想违反浏览器和应用程序访问文件的安全性。
用户自己加载模板的选项有点不方便,你必须做很多不必要的动作
链接到 https://github.com/ 上的解决方案
同时我找到了使用包的 Word 解决方案:docxtemplater - 它使用 JSZipUtils 并且 Word 的示例工作正常,但是 xlsx 的模块对我来说非常昂贵
loadFile(url, callback) {
JSZipUtils.getBinaryContent(url, callback);
},
this.loadFile("/Word.docx", function(error, content) {
if (error) {
throw error;
}
var zip = new JSZip(content);
var doc = new Docxtemplater();
doc.loadZip(zip);
//... getting data from the database and inserting it into the Word template
});
是否有可能以某种方式使用 JSZipUtils 包来实现对 Excel 的访问?或者有另一种方式在不违反安全性的情况下获取静态文件的实例是否不同?
解决方案
推荐阅读
- javascript - 接受输入字段值 x>0 [ 允许在 0 范围内浮动
我的输入字段应该接受所有非零正值作为浮点数。在范围内 ** x > 0**
我不明白我怎么能告诉 html 这样做?每次如果尝试使用浮点数来修复最小值(如0.5),它将忽略所有小于该值的值(如0.005 < 0.5)。
那么我怎样才能允许这么宽的范围呢?(我觉得这个范
- tabulator - 使用 Tabulator 处理相关数据 id 的最佳方法是什么
- python - 在 Windows 上由 PyInstaller 编译时无法访问 Python 3.6 HTTP 服务器
- javascript - 使用反应钩子将数据传递给兄弟组件?
- tensorflow - GPU 确定性与 TensorFlow 双线性插值
- python - 同时运行多个函数python
- c - 在c中动态使用结构
- javascript - 不变违规:缩小反应错误#200;
- html - 如何在我的视图中显示其他 div 附近的 2 行中的 4 个图表
- java - java程序如何与Compiler交互?