Skip to content

Commit 666cdd4

Browse files
author
兰小方
committed
支持嵌入的Excel表格解压缩。
1 parent c8a5718 commit 666cdd4

1 file changed

Lines changed: 36 additions & 8 deletions

File tree

src/dotnetCampus.OfficeDocumentZipper/MainWindow.xaml.cs

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,16 @@ private void UnzipFile()
106106
Directory.CreateDirectory(directory);
107107
ZipFile.ExtractToDirectory(file, directory, true);
108108

109-
// 这个方法对嵌入excel表格的PPT文件进行处理。
110-
UnZipOleObjectFile();
109+
// 涉及IO操作,最好捕获一下异常。
110+
try
111+
{
112+
// 这个方法对嵌入excel表格的PPT文件进行处理。
113+
UnZipOleObjectFile();
114+
}catch(Exception exception)
115+
{
116+
Warn(exception.ToString());
117+
}
118+
111119

112120
Warn("");
113121
}
@@ -245,18 +253,38 @@ private void Zip_OnClick(object sender, RoutedEventArgs e)
245253

246254
var directory = OfficeFolder.Text;
247255

248-
// 这个步骤是查找问价夹里是否存在oleObj元素映射的xlsx文件,并进行压缩处理。
249-
var directoryInfos = ZipOleObjectFile();
256+
DirectoryInfo[] directoryInfos = null;
257+
258+
// 涉及IO操作,最好捕获一下异常。
259+
try
260+
{
261+
// 这个步骤是查找问价夹里是否存在oleObj元素映射的xlsx文件,并进行压缩处理。
262+
directoryInfos = ZipOleObjectFile();
263+
}
264+
catch (Exception exception)
265+
{
266+
Warn(exception.ToString());
267+
}
268+
250269
ZipFile.CreateFromDirectory(directory, file, CompressionLevel.NoCompression, false);
251270

252-
if (directoryInfos is not null)
271+
// 涉及IO操作,最好捕获一下异常。
272+
try
253273
{
254-
foreach (var directoryInfo in directoryInfos)
274+
if (directoryInfos is not null)
255275
{
256-
// 进行恢复现场。
257-
directoryInfo.Create();
276+
foreach (var directoryInfo in directoryInfos)
277+
{
278+
// 进行恢复现场。
279+
directoryInfo.Create();
280+
}
258281
}
259282
}
283+
catch (Exception exception)
284+
{
285+
Warn(exception.ToString());
286+
}
287+
260288

261289
OfficeFile.Text = file;
262290
OfficeFolder.Text = directory;

0 commit comments

Comments
 (0)