diff --git a/TextLocator/Service/ExcelFileService.cs b/TextLocator/Service/ExcelFileService.cs index 1b9f9cffac145186cd2a4f364972b29c012170dc..bca3e3ea1fa5f509af6b52aa1cbbcf0963af4908 100644 --- a/TextLocator/Service/ExcelFileService.cs +++ b/TextLocator/Service/ExcelFileService.cs @@ -199,7 +199,7 @@ namespace TextLocator.Service int cellCount = row.LastCellNum; for (int k = 0; k < cellCount; k++) { - builder.Append(row.GetCell(j) + " "); + builder.Append(row.GetCell(k) + " "); } builder.AppendLine(); } diff --git a/TextLocator/Service/ZipFileService.cs b/TextLocator/Service/ZipFileService.cs index 9d659310833ea43415b2d6c677181732ae79561e..94a2443a982cbcccfa2822121863c1927f3b1523 100644 --- a/TextLocator/Service/ZipFileService.cs +++ b/TextLocator/Service/ZipFileService.cs @@ -1,6 +1,7 @@ using log4net; using SharpCompress.Archives; using SharpCompress.Common; +using SharpCompress.Readers; using System; using System.Collections.Generic; using System.IO; @@ -44,10 +45,18 @@ namespace TextLocator.Service builder.Append(" 大小:" + FileUtil.GetFileSizeFriendly(fileInfo.Length)); builder.Append(" 列表:=> \r\n"); + // 解析列表 using (FileStream file = File.OpenRead(filePath)) { - using (var archive = ArchiveFactory.Open(file)) + //设置编码,解决解压文件时中文乱码 + var archiveEncoding = new ArchiveEncoding(); + archiveEncoding.Default = System.Text.Encoding.GetEncoding("gbk"); + var options = new ReaderOptions + { + ArchiveEncoding = archiveEncoding + }; + using (var archive = ArchiveFactory.Open(file, options)) { foreach (var entry in archive.Entries) {