2013-10-01 2 views
0

HTML 테이블을 엑셀 시트로 내보내려고합니다.
일부 서식을 유지하고 사진을 추가 할 필요가 없다면 CVS 형식으로이 작업을 수행했을 것입니다.복잡한 HTML 테이블을 Excel로 내보내기

나는, 그에 대한 Office 2003 XML 형식을 사용하여 시도 할 수 있습니다 즉

<?xml version="1.0"?> 
<?mso-application progid="Excel.Sheet"?> 
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
      xmlns:o="urn:schemas-microsoft-com:office:office" 
      xmlns:x="urn:schemas-microsoft-com:office:excel" 
      xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
      xmlns:html="http://www.w3.org/TR/REC-html40"> 
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> 
    ... 
    </DocumentProperties> 
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"> 
    ... 
    </OfficeDocumentSettings> 
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> 
    ... 
    </ExcelWorkbook> 
    <Styles>...</Styles> 
    <Worksheet ss:Name="Sheet1">...</Worksheet> 
</Workbook> 

그리고 일부 JavaScript 코드는 내가이 문제가이 data URI

'data:application/vnd.ms-excel;charset=utf-8, '+ 
encodeURIComponent(STRING_XML_REPRESENTATION)); 

를 사용하여 "다운로드"하기 :

  1. xls (또는 xlsx)은 OpeOffice \ LibreOffice에 잘 열리지 만 Excel에 오류가 발생하고
  2. 파일에 이미지를 추가하는 방법을 찾지 못했습니다.

대부분의 경우 웹 브라우저를 열면 기본값이 열리기 때문에 xml 파일로 저장하고 싶지 않습니다.

답변

1

ECMA-376을 검토하십시오. Excel에서는 모든 파일이 압축 컨테이너에 포함될 것으로 예상하므로 [Content_Types].xml을 비롯한 몇 가지 추가 파일이 있어야합니다.

이미지를 Zip 컨테이너에 추가하고 참조해야합니다 (사양 검토).

+0

프로그래밍 방식으로 어떻게 할 수 있습니까? –

+1

@OfirFarchy https://github.com/stephen-hardy/xlsx.js는 출발점입니다. – SheetJS

관련 문제