2017-09-21 46 views
0

我正在尋找一種方式來在C#中以編程方式提取或「解壓縮」.xls和.xlsx文件。如果我使用7zip來提取一個.xlsx文件,那麼我會對組成.xlsx的所有.xml文件做一個很好的小突破。我真的不知道從哪裏開始嘗試,而Google-foo迄今爲止失敗了。有什麼建議?在C#中使用7zip提取.xlsx文件

感謝

+1

你嘗試過什麼?你有沒有在System.IO.Compression中檢查ZipArchive類? –

+0

爲了澄清,你試圖解壓縮一個壓縮文件(即.zip或.7z等)的權利,而不是試圖解壓縮excel文件? – Hack

+0

@Lasse我還沒有看過ZipArchive類,但我現在就來看看。 – user1971240

回答

1

嘗試做如下:

using System; 
using System.IO; 
using System.IO.Compression; 

namespace ConsoleApplication 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      string xlsPath = @"c:\example\YourFile.xlsx"; 
      string extractPath = @"c:\example\extract"; 
      string zipPath = Path.ChangeExtension(xlsPath, "zip"); 

      if (File.Exists(zipPath)) 
      { 
       File.Delete(zipPath); 
      } 

      File.Copy(xlsPath, zipPath); 

      ZipFile.ExtractToDirectory(zipPath, extractPath); 
     } 
    } 
} 

控制檯應用程序上面的文件到指定位置 副本,那麼你可以將它解壓縮是任何你下一步想做內容。

你不應該需要7Zip這個。

正如哈克在他的評論中所說的,如果你想修改/讀取excel數據,有很多更好的方法可以做到這一點。

這裏有幾個可以與Excel文件的工作庫:

  1. http://npoi.codeplex.com
  2. http://code.google.com/archive/p/excellibrary