我的一个屏幕上有一个下载按钮,我需要用户能够下载txt文件。
当我使用sheet_to_csv选项时,一切正常,除了记录不会被换行符分隔的事实。我已经尝试过RS: \n
,但仍然不会导致换行。
出于记录目的,我在这里使用sheet_to_csv
而不是sheet_to_txt
,因为sheet_to_csv
选项实际上没有实现,而sheet_to_txt
选项却没有实现。这可能是我不知道的xlsx软件包本身中的错误。
public exportAsTxtFile(json: any[], excelFileName: string): void {
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json, {skipHeader:true});
const excelBuffer: any = XLSX.utils.sheet_to_csv(worksheet, {FS: ",", RS: "\n" });
this.saveAsTxtFile(excelBuffer, excelFileName);
}
private saveAsTxtFile(buffer: any, fileName: string): void {
const data: Blob = new Blob([buffer], { type: "text/plain;charset=utf-16" });
FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + TXT_EXTENSION);
}