>

UI에서 Excel로 데이터 내보내기 그러나 '.xls'형식으로 저장 중입니다. '.xlsx'형식으로 저장해야합니다.

와이즈 비즈

uri를 다음으로 변경하려고 시도했습니다

Here is the link of myfiddle

하지만 다운로드 한 파일을 '.xlsx'형식으로 표시하면 손상되었습니다.

한 필드에는 다음과 같은 데이터가 포함됩니다

var uri = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,'

누구든지이 문제를 해결하도록 도와 줄 수 있습니까?

여기에 내 필드 데이터는 html 태그 및 스타일 (예 : 굵게/이탤릭체/하이퍼 링크 등)이 있습니다. 예상되는 출력은 텍스트가 굵은 텍스트처럼 스타일이 적용된 텍스트를 변환하는 것입니다. 예를 들어 굵은 텍스트처럼 내 보내야합니다. 다른 스타일과 동일합니다.

'<p><strong>Test</strong></p>'

  • 답변 # 1

    와이즈 비즈  그리고 .xls  완전히 다른 형식이므로 확장 기능을 변경하여 해당 작업을 수행 할 수는 없습니다.

    양식을 통해 데이터를 백엔드로 보내고 백엔드에서 .xlsx 를 생성하도록 제안합니다.  파일에 도움이되는 많은 언어로 된 라이브러리가 많이 있습니다 :

    파이썬 : .xlsx

    노드 : openpyxl

    PHP : nodex-xlsx

    자바 : PHP_XLSXWriter

    .NET : Apache POI

    백엔드 솔루션을 사용할 수 없으면 EPPlus 를 사용할 수 있습니다   js-xlsx 를 생성 할 수있는 라이브러리  클라이언트 측의 파일을 사용하면 테이블 내보내기 데모를 보거나 다음과 같이 파일을 구성 할 수 있습니다.

    .xlsx
    
    
    var filename = "write.xlsx"; var data = [ ['Code-Page ID', 'Name', 'ACP OEMCP', 'Windows NT 3.1', 'Windows NT 3.1', 'Windows 95'], [1200, 'Unicode (BMP of ISO/IEC-10646)', null, 'X', 'X', '*'], [1250, 'Windows 3.1 Eastern European', 'X', 'X', 'X', 'X'], ]; var ws_name = "Code Page Support"; var wb = XLSX.utils.book_new(); var ws = XLSX.utils.aoa_to_sheet(data); XLSX.utils.book_append_sheet(wb, ws, ws_name); XLSX.writeFile(wb, filename);

관련 자료

  • 이전 amqp - 내 작업이 왜 헤더 교환의 모든 RabbitMQ 대기열과 일치합니까?
  • 다음 reactjs - 반응 네이티브 - 객체 배열을 사용하여 tcomb-form으로 양식을 동적으로 생성