如何使用C#解壓縮docx文件?如何使用C#解壓縮docx文件?
回答
新的Office文件擴展名(DOCX,POTX,XLSX等)轉變成zip文件時,他們被上傳到Web服務器,然後下載。
這些文件格式現在使用Open XML文件格式系統,因此它們與Google,Open Office等其他辦公軟件更兼容。從本質上講,它們是包含多個XML文件的zip文件,這些文件在用適當的應用程序打開時變成友好的word文檔。
我偷了這個充滿恥辱的從here在這裏你可以找到完整的信息。
我希望這個答案將幫助您和所有由你和消極投票你的問題,甚至不知道答案樂趣無知的人。
雖然這提供了很好的信息,但是您引用的博客文章更多地討論了Web服務器在2007年無法爲基於Open XML的Office文檔提供正確的MIME類型:)要正確使用這些文件並且不要重新發明輪盤,請打開「打開XML SDK是要走的路。 – 2013-03-06 08:13:14
@David Khaykin你是對的,但我只是想給他一個提示,確實這些文件可能是zip文件。 – Dummy01 2013-03-06 08:44:34
@ Dummy01非常感謝你:) – 2013-03-06 09:14:17
您可以嘗試使用System.IO.Packaging.ZipPackage。
如果你的意思是docx
文件,他們基本上只是zip
文件創建一個特定的約定。
查看Packaging API。
安裝Open XML SDK http://www.microsoft.com/en-us/download/details.aspx?id=5124,並利用此功能docx文件中的XML工作。
這是您正在尋找的完整代碼。我已經使用這個類來進行docx zip和解壓縮操作。
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Deployment.Compression;
using Microsoft.Deployment.Compression.Zip;
namespace <YourPackage>.Libs
{
public class ZipFile
{
private string _zipfilepath;
public ZipFile(string zipfilepath)
{
_zipfilepath = zipfilepath;
}
public void Compress(string filePath,bool deleteSourceFolder)
{
var filePaths = new List<string>();
if (Directory.Exists(filePath))
{
filePaths.AddRange(Directory.GetFileSystemEntries(filePath).ToList());
}
if (filePaths.Count > 0)
{
var zip = new ZipInfo(_zipfilepath);
zip.Pack(filePath, true, CompressionLevel.None, null);
}
if(deleteSourceFolder)
Directory.Delete(filePath,deleteSourceFolder);
}
public void Uncompress(string destinationPath)
{
var zip = new ZipInfo(_zipfilepath);
zip.Unpack(destinationPath);
}
}
}
你從哪裏得到Microsoft.Deployment命名空間?我有所有的默認引用,但是Microsoft沒有一個部署命名空間。 – HadesHerald 2015-08-12 22:06:27
對不起,遲到的迴應。您必須安裝[Wix](http://wixtoolset.org/)。如果您正在修改word文檔,我可以強烈推薦[DocX](https://docx.codeplex.com/)。 – 2015-11-10 04:38:03
設置參考System.IO.Compression和System.IO.Compression.FileSystem。 然後是這樣的:
using System.IO.Compression;
string zipPath = @"c:\tmp\Test.docx";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
archive.ExtractToDirectory(zipPath + ".unzipped");
}
看一看這裏:https://msdn.microsoft.com/EN-US/library/hh485709(v=VS.110,d=hv.2).aspx(ZipFileExtensions.ExtractToDirectory法)
- 1. 如何使用C#解壓縮壓縮文件?
- 2. 使用C#解壓縮tar文件
- 3. 使用C解壓縮.gz文件#
- 4. 使用c解壓縮文件#
- 5. 使用C#解壓縮tar/BZ2文件
- 6. 如何解壓/解壓縮* .z文件
- 7. 如何解壓/解壓縮文件
- 8. 通過C#使用cmd來壓縮和解壓縮文件
- 9. 如何使用c#壓縮消息並使用javascript解壓縮?
- 10. 如何使用AngularJs解壓縮壓縮文件?
- 11. 如何使用命令行解壓縮xip壓縮文件?
- 12. 如何解壓縮使用fusecompress/lzo壓縮的文件?
- 13. 如何使用rubyzip解壓縮壓縮文件夾
- 14. 解壓縮.Z文件C
- 15. 在c#中使用zlib壓縮文件時解壓文件
- 16. 如何使用編碼的docx?(解壓縮)
- 17. NSIS:如何解壓7zip壓縮文件
- 18. 如何在android中壓縮文件夾以製作docx文件?
- 19. 如何用ruby解壓縮文件
- 20. 如何使用C#和DotNetZip將壓縮文件添加到壓縮文件中
- 21. 如何使用Python解壓縮zip文件內容(使用壓縮格式)
- 22. 壓縮文件未解壓
- 23. 如何使用7Z SDK壓縮和解壓文件
- 24. 解壓縮(解壓縮)由.net壓縮(解壓縮)的文件.net system.io.compression.gzipstream
- 25. 解壓縮文件
- 26. 解壓縮文件
- 27. 用PHP解壓縮文件
- 28. 解壓縮文件用PHP
- 29. Node.js - 壓縮/解壓縮文件夾
- 30. Magick ++壓縮和解壓縮文件
它是如何壓縮?做相反的事。 – 2013-03-06 06:42:59
要將字節提取到垃圾桶中? – Dmitry 2013-03-06 06:43:19
任何trys要顯示在這裏? – Mido 2013-03-06 06:43:20