나는 2003 년과 2007 년 사무실의 파일을 차별화하기 위해 다음 코드를 사용하고 있습니다.excel 파일이 2007 년 또는 2010 년 사무실인지 확인하는 방법
if (Extension == ".xls" || Extension == ".xlsx")
{
}
하지만 이제는 2010 엑셀 파일을 식별해야합니다. 해결책을 제시하십시오.
나는 2003 년과 2007 년 사무실의 파일을 차별화하기 위해 다음 코드를 사용하고 있습니다.excel 파일이 2007 년 또는 2010 년 사무실인지 확인하는 방법
if (Extension == ".xls" || Extension == ".xlsx")
{
}
하지만 이제는 2010 엑셀 파일을 식별해야합니다. 해결책을 제시하십시오.
아마도 모든 Office Open XML 파일과 같은 .xlsx 파일은 내용을 설명하는 내부 파일 세트가 포함 된 .zip 파일입니다. 파일을 저장 한 프로그램의 버전 번호를 찾으려면 다음을 방문하십시오.
.xlsx 확장명을 .zip으로 바꿉니다 (프로그램 적으로이 작업을 수행 할 때는 건너 뛰기가 가능하지만 데모에서는 도움이됩니다.)). 파일에 포함 된 압축 구조체를 엽니 다.
app.xml
(열기) 파일이 들어있는 docProps
디렉토리가 있습니다.
<Properties>
<Application>Microsoft Excel</Application>
<DocSecurity>0</DocSecurity>
<ScaleCrop>false</ScaleCrop>
<HeadingPairs>
<vt:vector size="2" baseType="variant">
<vt:variant>
<vt:lpstr>Worksheets</vt:lpstr>
</vt:variant>
<vt:variant>
<vt:i4>3</vt:i4>
</vt:variant>
</vt:vector>
</HeadingPairs>
<TitlesOfParts>
<vt:vector size="3" baseType="lpstr">
<vt:lpstr>Sheet1</vt:lpstr>
<vt:lpstr>Sheet2</vt:lpstr>
<vt:lpstr>Sheet3</vt:lpstr>
</vt:vector>
</TitlesOfParts>
<LinksUpToDate>false</LinksUpToDate>
<SharedDoc>false</SharedDoc>
<HyperlinksChanged>false</HyperlinksChanged>
<AppVersion>14.0300</AppVersion>
</Properties>
<Application>
태그를 참조하십시오. Excel에서 저장되었음을 알 수 있습니다 (Open Office라고하는 것과 반대). <AppVersion>
태그를 참조 하시겠습니까? 그 중 하나가 당신이 찾고있는 버전 번호입니다. Excel 2007은 버전 12이고 Excel 2010은 14입니다 (버전 번호 13을 사용하면 전체 작업이 방해 될 수 있기 때문입니다). Excel 2013 버전 15 예정입니다.
'docProps' 섹션은 xlsx의 필수 부분이 아닙니다 사양. Excel 이외의 프로그램을 사용하여 작성된 문서에는 Excel이 없을 수 있습니다. 예를 들어 Google 드라이브를 사용하여 xlsx 파일을 만드는 경우이 정보가 없습니다. – tylerl
파일을 생성하는 데 Excel 개체 모델을 사용하고 있습니까? 지금이라면 어떻게 만드십니까? – shahkalpesh
엑셀 파일은 사용자가 업로드 할 수 있으며 솔루션으로 만 제공됩니다. – ravi
Excel 2010 파일은 2007 파일과 크게 다르지 않습니다. 그럼에도 불구하고, 내부에 포함 된 버전 번호를 기준으로 차별화하는 방법에 대한 설명을 게시했습니다. – tylerl