【发布时间】:2020-01-02 13:16:56
【问题描述】:
我在 Angular 8 项目中工作。我有一个组件可以处理一些数据并使用 XLSX.WorkSheet 方法将这些数据导出到 excel 中。当我在浏览器中运行我的应用程序时,它会成功下载 EXCEL 文件(.xlsx)。
现在我正在将我的 Angular 8 应用程序转换为 Cordova android,所有功能都与我的 Angular 应用程序的浏览器视图相同,但是当我尝试导出 EXCEL 时,文件不会下载。
这里我展示了一些用于导出 Excel 数据的 Angular 项目代码,如下所示。
import { ExportAsService, ExportAsConfig, SupportedExtensions } from 'ngx-export-as';
import * as XLSX from 'xlsx';
constructor(private exportAsService: ExportAsService) {}
public exportExcel(jsonData: any[], fileName: string): void {
const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);
const wb: XLSX.WorkBook = { Sheets: { 'data': ws }, SheetNames: ['data'] };
const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
var out = XLSX.write(wb, { type: 'base64' });
var xlsContent = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' + out;
this.exportAsService.downloadFromDataURL(fileName, xlsContent);
}
使用上面的代码,我可以在浏览器中单击 Angular 8 应用程序中的 Excel 按钮时下载 excel 文件。如下图所示
我希望在 Android .APK(Cordova) 中具有相同的行为
【问题讨论】:
标签: angular cordova cordova-plugins