我有一种情况,我需要使用VB.net代码执行以下步骤:
1)将Excel文件重命名为.zip(实际上并不压缩文件,只是将其重命名为.zip)
2)解压缩重命名的Excel文件以访问它的XML结构。 Excel工作表的XML结构存储在文件名sheet.xml中,因此目标是访问此XML文件。
3)通过重新排列列结构来处理sheet.xml文件。
截至目前,我正在尝试单独关注步骤1和2。 步骤1可以轻松实现,因为它只涉及将excel文件重命名为.zip,而不执行任何压缩。
但我不确定第2步,因为需要解压缩excel文件的XML结构,而不是事先将其压缩。
有人能说明如何实现第2步吗?
答案 0 :(得分:0)
XLSX-File只是一个zip容器,里面有一组XML文件。
因此,您可以通过将文件重命名为.zip
来提取文件。
另请参阅:How to properly assemble a valid xlsx file from its internal sub-components?
答案 1 :(得分:0)
如果您使用的是.NET Framework 4或更高版本,则可以使用包含的ZipFile
帮助程序类。
Imports System.IO
Imports System.IO.Compression;
Dim filename as String = "c:\Temp\Input.xlsx"
Dim extractDirectory as String = "c:\Temp\ExtractedExcel"
Directory.CreateDirectory(extractDirectory)
ZipFile.ExtractToDirectory(filename, extractDirectory);
您需要确保引用System.IO.Compression和System.IO.Compression.FileSystem