簡體   English   中英

如何檢查Excel文件是2007還是2010 Office

[英]how to check whether excel file is of 2007 or 2010 office

我正在使用以下代碼來區分2003和2007辦公室的excel文件。

if (Extension == ".xls" || Extension == ".xlsx")
 {
 }

但現在我還需要識別2010 Excel文件。 請提出一些解決方案。

您可能知道,.xlsx文件(如所有Office Open XML文件)實際上是.zip文件,其中包含一組描述內容的內部文件。 因此,您可以在這里找到保存文件的程序的版本號:

將.xlsx擴展名重命名為.zip(以編程方式執行此操作時,可以跳過該步驟,但這對演示很有幫助)。 打開文件中包含的壓縮結構。

您將在其中找到一個docProps目錄,其中包含一個名為app.xml的文件(將其打開)。 您會發現以下內容:

<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將對整個操作進行jinxed)。 Excel 2013預期為版本15。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM