使用vb.net代码解压缩Excel文件并操纵其XML结构

时间:2017-10-23 13:47:28

标签: xml excel vb.net excel-2013

我有一种情况,我需要使用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步吗?

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