엑셀 다운로드 시 파일 손상 경고를 억제하는 방법은 무엇입니까?
Excel 2007 워크시트에 연결되는 웹 페이지가 있습니다.그것은.xls
줄로 묶지 않고.xlsx
파일. 링크를 클릭하면 Excel 파일을 열거나 저장할 수 있는 일반 대화 상자가 나타납니다.'열기'를 클릭하면 다음과 같은 경고 메시지가 표시됩니다.
열려는 파일 '파일 이름입니다.xls'의 형식이 파일 확장명으로 지정된 형식과 다릅니다.파일을 열기 전에 파일이 손상되지 않았는지, 신뢰할 수 있는 원본인지 확인합니다.지금 파일을 여시겠습니까?
이 경고 메시지를 프로그래밍 방식으로 억제할 수 있습니까(예: 표시되지 않도록 숨기거나 방지할 수 있습니까?저는 웹 개발을 위해 콜드퓨전을 사용하고 있습니다.
해결 방법을 찾지 않고 문제만 해결하려면 레지스트리에 이 키를 삽입하여 알림을 표시하지 않도록 합니다.
[HKEY_CURRENT_USER\소프트웨어\Microsoft\Office\12.0\Excel\Security] "확장 강화"=dword:000000
다음을 수행하여 위와 같은 작업을 수행할 수 있습니다.
- 레지스트리를 엽니다(시작 -> 실행 -> regedit.exe).
- HKEY_CURRENT_USER\SOFTWARE\MICROSOFFICE\12로 이동합니다.0\EXCEL\보안
- 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하고 새로 만들기 -> DWORD를 선택합니다.
- 이름에 "ExtensionHardening"을 입력합니다(따옴표 없음).
- 데이터의 값이 "0"인지 확인합니다.
이 문제는 Extension Hardening(확장 강화)이라는 기능에서 발생하며, 여기에서 이에 대한 자세한 정보를 찾을 수 있습니다.
프로젝트에서 이 문제에 자주 부딪혔는데, Jon이 말했듯이 Extension Hardening을 해제하는 것은 각 클라이언트 사용자가 수행해야 하는 작업입니다.
유감스럽게도, 위의 링크는 적어도 오피스 14까지는 이 코드에 예상되는 변경 사항이 없다고 명시하고 있습니다.
이전 Excel 형식(.xls)의 경우
다음 구문을 사용하여 스프레드시트 개체를 만든다고 가정합니다.
<cfset sheet = SpreadsheetNew() />
이를 사용하여 다운로드를 생성할 수 있습니다.
<cfheader name="content-disposition" value="attachment;filename=my_spreadsheet.xls">
<cfcontent type="application/vnd.ms-excel" variable="#spreadsheetReadBinary(sheet)#" reset="true">
최신 Excel 형식(.xlsx)의 경우
다음 구문을 사용하여 스프레드시트 개체를 만듭니다.
<cfset sheet = SpreadsheetNew("", "true") />
이를 사용하여 다운로드를 만듭니다.
<cfheader name="content-disposition" value="attachment;filename=my_xml_spreadsheet.xlsx">
<cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#spreadsheetReadBinary(sheet)#" reset="true">
이것의 대부분에 대해 Raymond Camden 덕분에 (그의 예는 이전 형식으로 스프레드시트를 만드는 것이었습니다. 저는 새로운 형식으로 업데이트했고 약간 다른 MIME 값을 사용했습니다.)
파일 내용과 파일 확장명이 일치하지 않는다는 메시지가 나타납니다.따라서 XLSX 파일이거나 서버의 현재 파일이 어떤 방식으로든 손상된 것입니다.ZIP 도구로 파일을 여는 것을 제안합니다.만약 그것이 작동한다면, 그것은 정말로 XLSX 형식의 파일입니다.그런 다음 파일 이름을 변경하여 경고를 수정할 수 있습니다.
그렇지 않으면 파일에 문제가 발생했습니다.
하지만 어느 쪽이든, 경고를 억제하는 것은 여러분의 문제에 대한 해결책이 아닙니다.에게 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅠnakedgrls.gif.exe
보안 설정을 망치지 않는 것이 좋습니다.
핸디 cf 컨텐츠 트릭을 사용하여 엑셀 파일로 출력하는 경우, cfx_query2 excel을 사용하는 것을 고려해 보십시오. 이것을 통과할 수 있는 실제 엑셀 파일을 작성할 것입니다.그것은 자바 도서관이고 가치가 있었습니다.
행운을 빌어요.
파일 확장명을 지정하지 않으면 내용 유형이 "application/vnd-excel"인 .cfm 파일로 이름이 지정되어 이 경고가 발생할 수 있습니다.
파일 출력이 시작되기 전에 추가해 보십시오.
<cfheader name="Content-Disposition" value="attachment;filename=myexcelfile.xls">
<cfcontent type="application/ms-excel" reset="true">
저는 당신이 그것을 사용자에게 숨길 수 있다고 생각하지 않습니다.이러한 경고는 브라우저 외부에서 발생합니다.
저도 같은 종류의 문제가 있었고 고객이 그것에 대해 불평했습니다.나는 구글링을 많이 했지만 운이 없었습니다.마지막으로 cfspreadsheet를 사용하여 스프레드시트를 만들었습니다. HTML을 통해 직접 만드는 것보다 추가 작업이 필요하다는 것을 알고 있지만 경고를 제거합니다.
언급URL : https://stackoverflow.com/questions/940045/how-to-suppress-the-file-corrupt-warning-at-excel-download
'programing' 카테고리의 다른 글
ASP.NET에서 날짜 형식을 글로벌하게 설정하는 방법은 무엇입니까? (0) | 2023.07.13 |
---|---|
CAST를 사용할 때 VARCHAR의 기본 길이가 30인 이유는 무엇입니까? (0) | 2023.07.13 |
MongoDB에서 내부 가입은 어떻게 하나요? (0) | 2023.07.13 |
Android에서 "@id/"와 "@+id/"의 차이점 (0) | 2023.07.13 |
오라클 11g에 시퀀스가 있는지 확인하려면 어떻게 해야 합니까? (0) | 2023.07.13 |