簡體   English   中英

如何將csv文件保存到本地路徑,而不是將其下載?

[英]How to save csv file to local path, not to download it?

我正在與Angular ts一起工作,並嘗試在本地保存csv文件,而不是下載它,任何人都可以幫助我,我不知道如何。 首先,我將內容保存在一個數組中,清理它,然后嘗試在本地保存它(最好在aseets文件夾中,但是我認為它是只讀的,對嗎?)。 我有貨。

這是我的代碼:

 exportToCsv(filename: string, rows: object[]) {
    if (!rows || !rows.length) {
      return;
    }
    const separator = ',';
    const keys = Object.keys(rows[0]);
    const csvContent =
      keys.join(separator) +
      '\n' +
      rows.map(row => {
        return keys.map(k => {
          let cell = row[k] === null || row[k] === undefined ? '' : row[k];
          cell = cell instanceof Date
            ? cell.toLocaleString()
            : cell.toString().replace(/"/g, '""');
          if (cell.search(/("|,|\n)/g) >= 0) {
            cell = `"${cell}"`;
          }
          return cell;
        }).join(separator);
      }).join('\n');



// not working
     /*  //if (this.plt.is('cordova')) 
        this.file.writeFile('.\\src\\assets', filename, csvContent, {replace: true}) */

// download
   /*  const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
    if (navigator.msSaveBlob) { // IE 10+
      navigator.msSaveBlob(blob, filename);
    } else {
      const link = document.createElement('a');
      if (link.download !== undefined) {
        // Browsers that support HTML5 download attribute
        const url = URL.createObjectURL(blob);
        link.setAttribute('href', url);
        link.setAttribute('download', filename);
        link.style.visibility = 'hidden';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
      } */

  }

您需要后端服務才能完成此任務。 Angular從ts文件構建javascript。 由於存在安全風險,瀏覽器中的Java語言無法直接修改計算機上的數據。 瀏覽器處理您的前端站點,如盒子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM