使用FileSaver.js保存Excel文件

11

我正在尝试在AngularJS中将数据导出到Excel。

1)用户单击按钮;2)在$scope.myArray中的数据被保存到Excel文件。

我已经尝试过:

var blob = new Blob($scope.myArray , {
    type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
});
saveAs(blob, "Report.xls");
};

它提示打开Excel文件。 但每当我尝试打开它时,它会显示文件格式或文件扩展名无效。

有什么帮助吗!

2个回答

11

尝试以下代码,它将帮助您为自己创建一个Excel文件。

var result = ["Item 1", "Item 3"];
const myJsonString = JSON.stringify(result);
const blob = new Blob([myJsonString], {
  type: "application/vnd.ms-excel;charset=utf-8"
});
saveAs(blob, "Report.xls");

演示


$scope.myArray必须是字符串类型,请等待。 - Shohel
成功了,还有一个问题。它向我显示了许多[object Object],我的数组包含以下数据..... [Object {IdeaNumber=31,Description="amit1",Department="RBVH/ETI1",more...},Object {IdeaNumber=32,Description="Testing nutshell",Department="RBEI/BSW2",more...},Object {IdeaNumber=35,Description="Testing nutshell",Department="RBEI/BSW2",more...}] - Amit Kumar
再来一个!现在它显示在一行中..有什么帮助可以以表格形式显示吗?[{"IdeaNumber":31,"Description":"amit1","Department":"RBVH/ETI1","Status":"Implemented","StatusColor":"idea-status-implemented","$$hashKey":"object:11"},{"IdeaNumber":32,"Description":"Testing nutshell","Department":"RBEI/BSW2","Status":"Implemented","StatusColor":"idea-status-implemented","$$hashKey":"object:12"},{"IdeaNumber":35,"Description":"Testing nutshell","Department":"RBEI/BSW2","Status":"Waiting for implementation","StatusColor":"idea-status-waiting-for-implementation","$$hashKey":"object:13"}] - Amit Kumar
我不知道兄弟。 - Shohel
@Shohel,关于我在这里的问题(https://stackoverflow.com/questions/43943003/encoding-csv-clrf-into-newlines),我该如何确保CSV文件(无论是Excel还是Google表格)使用CLRF编码工作。当我打开CSV文件时,它没有显示我期望的空格/多行。 - user3871
显示剩余4条评论

1
 csv = ['name','md5','desc']
  _.map $scope.trustFileList, (_file) ->
    csv.push "\n#{_file.name}"
    csv.push _file.md5
    csv.push _file.desc

  blob = new Blob([csv], {
    type: "application/json;charset=utf-8"
  });

  saveAs(blob, "TrustFileWhiteList.xls");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接