在C#中使用7zip提取.xlsx文件
问题描述:
我正在寻找一种方式来在C#中以编程方式提取或“解压缩”.xls和.xlsx文件。如果我使用7zip来提取一个.xlsx文件,那么我会对组成.xlsx的所有.xml文件做一个很好的小突破。我真的不知道从哪里开始尝试,而Google-foo迄今为止失败了。有什么建议?在C#中使用7zip提取.xlsx文件
感谢
答
尝试做如下:
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文件的工作库:
你尝试过什么?你有没有在System.IO.Compression中检查ZipArchive类? –
为了澄清,你试图解压缩一个压缩文件(即.zip或.7z等)的权利,而不是试图解压缩excel文件? – Hack
@Lasse我还没有看过ZipArchive类,但我现在就来看看。 – user1971240