Eksportuję niektóre dane do programu Excel w następujący sposób: -

import * as React from 'react';
import * as FileSaver from 'file-saver';
import * as XLSX from 'xlsx';

export const ExportCSV = ({csvData, fileName}) => {

    const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
    const fileExtension = '.xlsx';

    const exportToCSV = (csvData, fileName) => {
        const ws = XLSX.utils.json_to_sheet(csvData);
        const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };
        const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
        const data = new Blob([excelBuffer], {type: fileType});
        FileSaver.saveAs(data, fileName + fileExtension);
    }

    return (
        <a onClick={ (e) => exportToCSV(csvData,fileName)}>Export Tasks To Excel</a>
    )
}

export default ExportCSV;

Teraz chciałbym mieć jedno z pól jako hiperłącze, aby po otwarciu arkusza Excela użytkownik mógł kliknąć hiperłącze i zostać przekierowanym do tej witryny.

Czy to możliwe z tym komponentem? Czy ktoś zrobił coś podobnego?

Dziękuję za pomoc i czas

2
JMon 16 grudzień 2019, 12:23

1 odpowiedź

Zwykle, jeśli możesz wypełnić swoje pola w pliku CSV w ten sposób:

"=LIEN_HYPERTEXTE(""http://www.google.com"";""Google"") "

lub

"=HYPERLINK(""http://www.google.com"";""Google"") "

Spowoduje to utworzenie hiperłączy.

0
L.G 17 grudzień 2019, 01:39
Cześć @L.G masz na myśli coś takiego? let urlLink = '=HYPERLINK(""google.com"";""Google"" )”; To nie zadziałało
 – 
JMon
16 grudzień 2019, 14:57
Próbowałem też let urlLink = '=HYPERLINK("google.com")'; ale dosłownie napisał ' =HYPERLINK("google.com")'. Należy przekonwertować na funkcję
 – 
JMon
16 grudzień 2019, 15:08
Mam na myśli dokładnie taki format cytatów: "=HYPERLINK(""google.com""; „„Google”)”
 – 
L.G
17 grudzień 2019, 01:15
Jako pola pliku CSV możesz sformatować je w ten sposób, używając mniejszej liczby cudzysłowów : HYPERLINK=("google.com")
 – 
L.G
17 grudzień 2019, 01:41
"=HYPERLINK(""http://www.google.com"";""Google"")" zgłasza błąd SyntaxError podczas próbowania go na konsoli, czy chciałeś uniknąć tych cudzysłowów? Tak: "=HYPERLINK(\"http://www.google.com\";\"Google\")"? Zasugerowałem edycję w Twoim kodzie.
 – 
user11789497
17 grudzień 2019, 04:17