programing

HTML 테이블을 Excel로 내보내기 - Office 2010에서 열리지 않음

muds 2023. 4. 11. 22:38
반응형

HTML 테이블을 Excel로 내보내기 - Office 2010에서 열리지 않음

아래 Javascript 코드를 사용하여 HTML 테이블을 스프레드시트로 변환하는 엑셀을 즉시 생성합니다.

Office 2010 Excel office office office 。오픈 오피스엇이이문?문 제??이게 무슨 관계가 있는 거야?encoding

function ExcelReport() {
              var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
              tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';
              tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';
              tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
              tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';      
              tab_text = tab_text + "<table>";
              var headingTable = $('#h_tbl').clone();
              tab_text = tab_text + headingTable.html();
              tab_text = tab_text + '</table>';
              $('.c_tbl').each(function( index ) {
                    tab_text = tab_text + "<table>";
                    tab_text = tab_text + "<tr><td></td></tr><tr><td></td></tr>";
                    tab_text = tab_text + '</table>';
                    tab_text = tab_text + "<table>";
                    var exportTable = $(this).clone();
                    tab_text = tab_text + exportTable.html();
                    tab_text = tab_text + '</table>';
              });
              tab_text = tab_text + '</body></html>';
              var fileName = name + '.xls';
              var blob = new Blob([tab_text], { type: "application/vnd.ms-excel;charset=utf-8" })
              window.saveAs(blob, wo_var + ".xls");
            }

메모장에서 엑셀을 열면 다음과 같은 HTML 코드가 나타납니다.

<html xmlns:x="urn:schemas-microsoft-com:office:excel"><head><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>
        <tbody><tr><td>abc:</td></tr></tbody></table></body></html>

여기에 이미지 설명 입력

고객으로부터 같은 문제가 너무 많았습니다.2016년 7월 12일에 공개된 Excel OFffice 보안 패치 KB3115262 - https://support.microsoft.com/en-us/kb/3115262까지 추적했습니다.

이 문제를 해결하기 위해 우리는 고객이 인터넷에서 파일을 사용할 수 있도록 Excel을 변경하도록 했습니다.

수정 방법: 1) Excel 파일로 이동 옵션을 엽니다.

2) [트러스트 센터]-> [트러스트 센터 설정]을 클릭합니다.

3) Protected View로 이동합니다.모두 클릭된 3가지 옵션이 있습니다.

"인터넷에서 발신된 파일에 대해 보호 보기 사용"이라는 첫 번째 옵션의 선택을 취소합니다.

이것으로 문제가 해결되었습니다.아마도 최선의 해결책은 아닐 것이다.이 KB가 왜 이 문제를 해결했는지 알 수 없지만 파일 형식이 예상되지 않은 점과 이 설정이 서로 충돌하고 있다고 생각합니다.

이 KB가 설치되어 있지 않은 컴퓨터에서는 모든 KB가 체크되어 정상적으로 동작합니다(공백은 아니지만 파일 형식이 다릅니다). 보호 표시로 표시되는 것 같습니다.

파일 내용이 아닌 것은 파일을 변경하지 않고 메모장이나 메모장++에 다시 저장하면 파일은 정상적으로 동작하기 때문에 Excel은 파일을 차단하기 위해 콘텐츠가 아닌 파일의 속성을 읽어야 한다는 것입니다.

파일을 HTML로 하고 있습니다.*.xls열 수 과 같은 메시지가 Excel은 이것을 열 수 있지만 일반적으로 다음과 같은 경고 메시지가 나타납니다.

열려는 파일 이름.ext'는 파일 확장자로 지정된 형식과 다릅니다.파일을 열기 전에 파일이 손상되지 않았는지, 신뢰할 수 있는 원본 파일인지 확인하십시오.지금 파일을 열시겠습니까?

이 경고가 발생하지 않고 파일이 열리지 않으면

DWORDExtensionHardeningHKEY_CURRENT_USER\Software\Microsoft\Office\<version number>\Excel\Security로 설정되어 있다.2Windows Registry

즉, "파일 이름 확장자와 파일 형식을 확인하십시오.일치하지 않으면 파일을 열지 마십시오."

https://support.microsoft.com/en-us/kb/948615 를 참조해 주세요.

관리자가 그룹 정책 설정을 통해 이 설정을 수행했을 수 있습니다.관리 네트워크에 있는 경우는, 관리자에게 문의해 주세요.

라면, 그해, 「」, 「」, 「」, 「」, 「」로 변경합니다.1 (디폴트).

대신 다음 작업을 수행하는 대신:

안전하지 않은 "인터넷에서 발신된 파일에 대해 보호 보기 활성화"라는 첫 번째 옵션의 선택을 취소합니다.

다음을 수행합니다.

파일의 속성으로 이동하여 차단 해제를 클릭합니다(파일이 안전한 경우).

이미지: 파일 속성으로 이동하여 차단 해제를 클릭합니다.

저도 인트라넷과 비슷한 문제가 있었습니다.사용자가 [열기]를 클릭했을 때 HTML Excel로 그리드 내보내기가 갑자기 중지되었습니다.빠른 회피책, 저장 후 열기 드롭다운 옵션 또는 저장 후 열기.

저의 수정은 콘텐츠 디스포지션을 첨부에서 인라인으로 변경하는 것입니다.이제 사용자는 하단에 있는 팝업 센터 페이지가 아닌 이전 팝업 센터 페이지를 볼 수 있으며, 열려 있는 동작도 정상입니다.

마찬가지로 StringWriter, HTMLTextWriter 및 RenderControl을 사용하여 GridView에서 XLS 파일로 코드가 덤프됩니다.

ASP 때부터.NET 코드는, 100대의 유저 PC에 액세스 해 설정을 변경하는 대신에, 다음의 업데이트를 전사적으로 언인스톨 했습니다.

언인스톨 완료:

  • Windows Update KB3115262 (Excel 2013)
  • Windows Update KB3115130 (Excel 2010)
  • Windows Update KB3115272 (Excel 2016/64 비트)

이것으로 당사의 문제가 해결되었습니다.또, 이러한 업데이트의 영향을 받는 고객이나 그 외의 고객도 해결됩니다.

SalesForce 사이트에서도 보안에 대한 편집증적인 답변을 볼 수 있었습니다.https://success.salesforce.com/answers#!/feedtype=SINGLE_QUESTION_DETAIL&dc=All&criteria=BESTANSWERS&id=9063A000000iTIyQAM

기본적으로 다운로드하는 사이트를 안전하다고 표시합니다.

저도 안 먹어봤어요

기본적으로 Internet Explorer에서 Excel 파일을 다운로드할 웹 사이트를 엽니다.

설정 인터넷 옵션 보안 신뢰할 수 있는 사이트 추가로 이동합니다.

그러면 해당 사이트가 허용됨으로 추가되고 원하는 브라우저(firefox/chrome 등)를 사용할 수 있습니다.

문제의 가능한 해결 방법:

해결책 1:

1) [시작] 메뉴에 [Regedit]

2) 레지스트리로 이동합니다.

레지스트리: HKEY_CURRENT_USER\Software\Microsoft\Office\\Excel\보안

여기서 =

 15.0 for Office 2013
 16.0 for Office 2016
 12.0 for Office 2010

DWORD(32비트) 값을 만들고 이름을 ExtensionHardening으로 지정합니다.사용 가능한 값은 다음과 같습니다.

0: Do not check the file name extension and
   the file type, and bypass the function of the warning message.

1: Check the file name extension and the file type.
   If they do not match, display the warning message.

2: Check the file name extension and the file
   type. If they do not match, do not open the file.

값으로 1을 사용합니다.

해결책 2:

Excel --> Properties --> Unblock --> OK 를 오른쪽 클릭합니다.

블록 해제 Excel

솔션 3

업데이트를 제거합니다.

Windows Update KB3115272 (Excel 2016/64 비트)

Windows Update KB3115262 (Excel 2013)

Windows Update KB3115130 (Excel 2010)

이 문제에 대한 자세한 내용은 다음 링크를 참조하십시오.https://social.technet.microsoft.com/Forums/en-US/d2d84793-9920-45e3-baef-5027a4ac1ae0/kb3170008-for-office-2016-breaks-functionality-ms16088?forum=officeitpro

Microsoft는 8월 9일에 Excel에 패치를 적용하여 원래 기능을 복원했습니다.자세한 내용은 이 스레드에서 8월9일에 투고할 때까지 스크롤해 주세요.https://social.technet.microsoft.com/Forums/en-US/d2d84793-9920-45e3-baef-5027a4ac1ae0/kb3170008-for-office-2016-breaks-functionality-ms16088?forum=officeitpro

엑셀 업데이트로 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/38377796/export-html-table-to-excel-doesnt-open-in-office-2010

반응형