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'는 파일 확장자로 지정된 형식과 다릅니다.파일을 열기 전에 파일이 손상되지 않았는지, 신뢰할 수 있는 원본 파일인지 확인하십시오.지금 파일을 열시겠습니까?
이 경고가 발생하지 않고 파일이 열리지 않으면
DWORD
치ExtensionHardening
HKEY_CURRENT_USER\Software\Microsoft\Office\<version number>\Excel\Security
로 설정되어 있다.2
Windows 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 를 오른쪽 클릭합니다.
솔션 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
'programing' 카테고리의 다른 글
# 꺽쇠 괄호 < >와 따옴표 "를 사용하여 Import합니다. (0) | 2023.04.11 |
---|---|
지정된 상대 경로 절대 경로 검색 방법 (0) | 2023.04.11 |
이걸 사용한다면요?setState()를 지정하시겠습니까? (0) | 2023.04.01 |
$routeProvider 또는 $stateProvider로 이동합니다. (0) | 2023.04.01 |
동적으로 로드된 JavaScript 블록을 실행하려면 어떻게 해야 합니까? (0) | 2023.04.01 |