为什么来自 .NET Core Web Api 的 Excel 文件已损坏?
Why Excel file from .NET Core Web Api is corrupt?
我正在使用 .NET Core 和 EPPlus.Core 来生成 Excel 文件,用于创建报告。不幸的是,Excel 数据在服务器和客户端 (Angular2) 之间的某处损坏,我使用 FileSaver.js 来保存 Excel文件到磁盘。
这是我的网站 API 控制器:
[HttpGet]
public async Task<IActionResult> Get()
{
try
{
var report = await _reportService.GetReportAsync();
var mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
var fileBytes = report.Bytes;
return File(fileBytes, mimeType, report.Name);
}
catch (Exception exception)
{
return StatusCode((int)HttpStatusCode.InternalServerError, exception);
throw;
}
}
这是报告服务:
public async Task<Report> GetReportAsync()
{
byte[] bytes;
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Employee");
worksheet.Cells[1, 1].Value = "ID";
worksheet.Cells[1, 2].Value = "Name";
worksheet.Cells[1, 3].Value = "Gender";
worksheet.Cells[1, 4].Value = "Salary (in $)";
worksheet.Cells["A2"].Value = 1000;
worksheet.Cells["B2"].Value = "Jon";
worksheet.Cells["C2"].Value = "M";
worksheet.Cells["D2"].Value = 5000;
worksheet.Cells["A3"].Value = 1001;
worksheet.Cells["B3"].Value = "Graham";
worksheet.Cells["C3"].Value = "M";
worksheet.Cells["D3"].Value = 10000;
worksheet.Cells["A4"].Value = 1002;
worksheet.Cells["B4"].Value = "Jenny";
worksheet.Cells["C4"].Value = "F";
worksheet.Cells["D4"].Value = 5000;
bytes = package.GetAsByteArray();
/* WORKS FINE - FILE IS SAVED AND IS NOT CORRUPT */
const string path2 = @"c:\temp\test2.xlsx";
await File.WriteAllBytesAsync(path2, bytes);
/* WORKS FINE - FILE IS SAVED AND IS NOT CORRUPT */
}
return new Report(bytes);
}
这是客户端代码:
this.http.get(this.baseUri + uri, query).subscribe(response => {
if (response.status === 200) {
let fileSaver = require('file-saver');
let mediaType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
let blob = new Blob([response._body], { type: mediaType });
let filename = 'test.xlsx';
fileSaver.saveAs(blob, filename);
}
});
文件test2.xlsx保存成功,打开没有问题。如果我在 Notepad++ 中打开它,我可以看到这样的二进制文件:
Angular2客户端下载的文件test.xlsx无法在Excel中打开,因为数据已损坏,如果我打开它Notepad++ 中的文件我可以看到有区别 - 有效字符被垃圾替换:
我已经阅读了很多类似的问题,但没有任何内容能够让我朝着正确的方向前进。我尝试过的一些事情:
- 返回 application/octet-stream 而不是 Excel 文件
- 使用 XHR 而不是 Angular http.get(无法正常工作,因为我使用 Windows 协商令牌,我不知道我如何将此令牌类型与 XHR 一起使用)
- 像这样尝试返回 HttpResponseMessage 而不是 File:
var httpResponseMessage = new HttpResponseMessage {Content = new
ByteArrayContent(report.Bytes)};
httpResponseMessage.Content.Headers.Add("x-filename", report.Name);
httpResponseMessage.Content.Headers.ContentType = new
MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
httpResponseMessage.Content.Headers.ContentDisposition = new
ContentDispositionHeaderValue("attachment") {FileName =
Path.GetFileName(report.Name)};
httpResponseMessage.Content.Headers.ContentLength =
report.Bytes.Length; httpResponseMessage.StatusCode =
HttpStatusCode.OK; return httpResponseMessage;
This相关但不相同,我的文件损坏到无法修复和打开的程度。
有什么建议吗?会不会是编码问题?
更新
有效Excel文件的十六进制转储:
50 4B 03 04 14 00 08 00 08 00 11 59 66 4B E4 48 AD AF 18 01 00 00 33
03 00 00 13 00 00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79 70 65 73 5D 2E
78 6D 6C B5 92 CF 4A 03 31 10 C6 5F 65 C9 55 9A B4 1E 44 A4 DB 1E AA
1E 55 B0 3E C0 98 CC 76 43 F3 8F CC B4 B6 6F 6F 36 2B 22 A5 82 1E 7A
9A 24 DF CC F7 FD 08 33 5F 1E BC 6B F6 98 C9 C6 D0 8A 99 9C 8A 06 83
8E C6 86 4D 2B DE D6 8F 93 5B D1 10 43 30 E0 62 C0 56 1C 91 C4 72 31
5F 1F 13 52 53 66 03 B5 A2 67 4E 77 4A 91 EE D1 03 C9 98 30 14 A5 8B
D9 03 97 6B DE A8 04 7A 0B 1B 54 D7 D3 E9 8D D2 31 30 06 9E F0 E0 21
16 F3 7B EC 60 E7 B8 59 8D EF 83 75 2B 20 25 67 35 70 C1 52 C5 4C 34
0F 87 22 8E 94 C3 5D FD 61 6E 1F CC 09 CC E4 0B 44 66 74 B5 87 7A 9B
E8 EA 34 A0 A8 34 24 3C 97 8F C9 D6 E0 BF 22 62 D7 59 8D 26 EA 9D 2F
23 92 52 46 30 D4 23 B2 77 B2 56 E9 C1 86 31 F4 05 32 3F 81 2F AE EA
E0 D4 47 CC DB F7 18 B7 B2 6A 17 01 18 22 EA F9 B7 FC 2A 92 AA 65 76
41 10 E2 A3 43 3A 47 31 2A 97 8C EE 21 A3 79 E5 5C 96 FC 3C C1 CF 86
6F 10 55 97 7E F1 09 50 4B 07 08 E4 48 AD AF 18 01 00 00 33 03 00 00
50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 98 DA EB 8B AE 00 00 00 27
01 00 00 0B 00 00 00 5F 72 65 6C 73 2F 2E 72 65 6C 73 8D CF C1 0E 82
30 0C 06 E0 57 59 7A 97 81 07 63 0C 83 8B 31 E1 6A F0 01 E6 56 06 01
D6 65 9B 0A 6F EF 8E 62 3C 78 6C FA F7 FB D3 B2 5E E6 89 3D D1 87 81
AC 80 22 CB 81 A1 55 A4 07 6B 04 DC DA CB EE 08 2C 44 69 B5 9C C8 A2
80 15 03 D4 55 79 C5 49 C6 74 12 FA C1 05 96 0C 1B 04 F4 31 BA 13 E7
41 F5 38 CB 90 91 43 9B 36 1D F9 59 C6 34 7A C3 9D 54 A3 34 C8 F7 79
7E E0 FE D3 80 AD C9 1A 2D C0 37 BA 00 D6 AE 0E FF B1 A9 EB 06 85 67
52 8F 19 6D FC 51 F1 95 48 B2 F4 06 A3 80 65 E2 2F F2 E3 9D 68 CC 12
0A BC 2A F9 E6 C1 EA 0D 50 4B 07 08 98 DA EB 8B AE 00 00 00 27 01 00
00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 9C 2D 27 53 C1 00 00 00
4D 01 00 00 0F 00 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C
8D 8E B1 0E C2 30 0C 44 77 24 FE 21 CA 07 10 60 60 A8 52 16 60 40 42
82 89 3D A4 2E 8D 48 E2 C8 49 55 F8 7B D2 56 45 B0 B1 DD 9D CF 4F 27
3B A4 C7 0D F1 C1 9E CE FA 58 50 C9 9B 94 42 21 44 D4 0D 38 15 17 18
C0 E7 5B 8D E4 54 CA 96 EE 02 EB DA 68 D8 A3 6E 1D F8 24 D6 CB E5 46
10 58 95 0C FA D8 98 10 F9 48 FB 87 15 03 81 AA 62 03 90 9C 1D 51 4E
19 CF B7 F3 19 63 B2 5F 76 35 D0 C5 C1 E6 60 9A DB 87 4C 8C 25 F1 DB
92 03 EC F3 31 38 E6 95 83 92 1F 5C B0 F8 02 E0 6C 48 8F 55 C9 57 9C
51 61 B2 A0 63 95 F5 84 FC 62 48 AD AC BE 10 AB 5B 6B 77 59 9E FD 09
D5 F8 D9 B7 A5 98 36 6D DF 50 4B 07 08 9C 2D 27 53 C1 00 00 00 4D 01
00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 81 62 92 A2 D6 00 00
00 34 02 00 00 1A 00 00 00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62
6F 6F 6B 2E 78 6D 6C 2E 72 65 6C 73 AD 91 CF 6A C3 30 0C 87 5F C5 E8
BE 38 E9 60 8C 51 B7 97 31 E8 B5 7F 1E 40 D8 4A 1C 9A D8 C6 D2 DA E5
ED 6B 36 56 52 28 63 87 9E 84 64 F4 FD 3E AC E5 FA 6B 1C D4 89 32 F7
31 18 68 AA 1A 14 05 1B 5D 1F 3A 03 87 FD C7 D3 2B 28 16 0C 0E 87 18
C8 C0 44 0C EB D5 72 4B 03 4A 59 61 DF 27 56 85 11 D8 80 17 49 6F 5A
B3 F5 34 22 57 31 51 28 2F 6D CC 23 4A 69 73 A7 13 DA 23 76 A4 17 75
FD A2 F3 9C 01 B7 4C B5 71 06 F2 C6 35 A0 F6 53 A2 FF B0 63 DB F6 96
DE A3 FD 1C 29 C8 9D 08 7D 8E F9 C8 9E 48 0A 14 73 47 62 E0 3A 62 FD
5D 9A AA 50 41 DF 97 59 3C 52 86 65 1A CA 5F 5E 4D 7E FA BF E2 9F 1F
1A EF 31 93 DB 49 2E 87 9E 5B CC C7 BF 32 FA E6 DA AB 0B 50 4B 07 08
81 62 92 A2 D6 00 00 00 34 02 00 00 50 4B 03 04 14 00 08 00 08 00 11
59 66 4B 2A 7B 81 AB 61 01 00 00 C3 03 00 00 18 00 00 00 78 6C 2F 77
6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E 78 6D 6C 8D 93 DD
4E 83 30 18 86 6F A5 E9 B9 2B 7F 9B CB 02 2C 9B 64 D1 33 E3 81 E7 15
3E 46 33 A0 A4 ED 86 F7 E6 81 97 E4 2D 58 BA 05 A1 8D C6 B3 16 9E BE
EF C3 97 F2 F5 F1 19 6F DF 9B 1A 5D 40 48 C6 DB 04 FB 0B 0F 23 68 73
5E B0 F6 98 E0 B3 2A EF D6 78 9B C6 3D 17 27 59 01 28 A4 F1 56 6E 44
82 2B A5 BA 0D 21 32 AF A0 A1 72 C1 3B 68 F5 BB 92 8B 86 2A BD 15 47
C2 CB 92 E5 90 F1 FC DC 40 AB 48 E0 79 2B 22 A0 A6 4A 57 C9 8A 75 12
5F D3 FE 93 25 3B 01 B4 30 0A 4D 7D 8D 6A 28 6B 71 1A 17 4C A7 0F F6
48 40 99 E0 9D BF C9 22 8C 48 1A 1B F8 95 41 2F 27 6B 34 7C C9 1B E7
A7 61 F3 54 24 D8 33 2C 71 E0 83 29 7F 16 A8 80 92 9E 6B F5 C2 FB 47
60 C7 4A E9 21 2D 7F F2 33 AA 68 1A 0B DE 23 3D 12 5F EB E4 C3 62 E7
63 24 4D B6 C6 A5 7E 7A 49 BD 98 5C 74 4F 7E 23 F6 2E E1 CF 89 07 97
08 E6 44 E6 12 E1 48 10 ED 34 8A 05 A3 58 70 3B 62 0A 3D CF B6 0A 9C
C4 C8 B2 72 89 A5 65 35 AD 58 4E 2B 66 4A E1 A8 14 CE 95 AC 31 EC 43
A7 70 65 29 B9 84 AD 64 55 FC E6 14 8D 4E D1 FC 80 35 F8 7D E4 34 DE
5B 4E 2E B1 B6 9C A2 BF C7 44 26 D7 AB D2 57 1F C4 81 73 05 C2 DC D6
F1 77 4C BF 01 50 4B 07 08 2A 7B 81 AB 61 01 00 00 C3 03 00 00 50 4B
03 04 14 00 08 00 08 00 11 59 66 4B FC 8A 2B 3D 46 01 00 00 69 03 00
00 0D 00 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C 8D 53 4D 6F 83
30 0C BD 4F DA 7F 88 F8 01 4B 5B 69 3B 4C B0 CB 24 A4 5D 7A E9 0E BB
86 92 40 24 E7 43 89 99 60 BF 7E 40 D2 26 9D 98 D4 9B FD 9E F3 9E B1
4D E9 71 02 7E EA 39 47 32 2A D0 BE 2A 7A 44 FB 4A A9 3F F7 5C 31 FF
64 2C D7 33 23 8C 53 0C E7 D4 75 D4 5B C7 59 EB 97 47 0A E8 61 B7 7B
A1 8A 49 5D BC 3D 3E 10 52 EA 41 D5 0A 3D 39 9B 41 63 55 EC 0A 42 03
21 8C 4E F0 3E 54 47 38 C6 73 E6 7F C8 37 83 99 DF 5F DE AD B0 66 8A
07 E2 9D 81 6C 9C 4C 6C 49 AF 0A 21 F4 D1 4E 02 5C ED 0E C9 6E 86 93
AE 65 88 DC E9 7A 06 49 8C 3F 27 CB AB 42 1B CD 6F 3C D2 B3 7B 25 3A
C7 A6 FD E1 79 53 25 84 B1 D3 C6 B8 96 BB 8D D1 04 22 59 01 17 98 4F
C5 C9 AE BF 01 D0 D8 3C 6D 0C A2 51 39 D2 4A D6 19 CD 20 EB 29 33 B9
24 B1 AF 33 07 38 2D F7 F1 25 36 9A 1B 05 09 AB FE 68 D7 2D 2F A3 8F
61 5C 38 CD 05 92 E4 5D 6A CC 5A 98 8E 83 6A B8 AB D7 D3 5B 8A 73 8F
B5 A0 36 41 85 8C 62 C3 FA C6 75 ED 63 C3 F8 CA 91 E5 C6 AA E2 B8 B8
41 A6 D8 0C 12 50 EA FF 3E 2D 5A B4 A3 F8 7B F2 25 4D 3F D7 DB 2F 50
4B 07 08 FC 8A 2B 3D 46 01 00 00 69 03 00 00 50 4B 03 04 14 00 08 00
08 00 11 59 66 4B F3 7E 6F 36 C5 00 00 00 58 01 00 00 14 00 00 00 78
6C 2F 73 68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 65 90 41 4A
04 31 10 45 AF 12 0A 17 BA 70 D2 BA 10 95 24 B3 50 46 14 74 A3 1E A0
E8 AE 99 0E 74 2A 6D AA 5A EC DB 1B 11 11 32 CB F7 3E FF 17 94 DB 7E
A5 C9 7C 52 91 98 D9 C3 C5 A6 03 43 DC E7 21 F2 C1 C3 FB DB EE FC 1A
8C 28 F2 80 53 66 F2 B0 92 80 D9 06 27 A2 A6 56 59 3C 8C AA F3 AD B5
D2 8F 94 50 36 79 26 AE C9 3E 97 84 5A B1 1C AC CC 85 70 90 91 48 D3
64 2F BB EE CA 26 8C 0C A6 CF 0B AB 87 1B 30 0B C7 8F 85 EE FE B8 1E
88 C1 69 78 BC 77 56 83 B3 3F F4 6B 5E 30 51 EB 1E 88 07 2A AD 7D C5
09 CB 6A 4E 23 9B 93 B3 36 7C CA DC AA E7 A3 D9 82 23 A6 A3 26 31 AF
AD DC FD 0B 5B 5F 13 BE 01 50 4B 07 08 F3 7E 6F 36 C5 00 00 00 58 01
00 00 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B E4 48 AD AF 18
01 00 00 33 03 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79 70 65 73 5D 2E 78 6D 6C 50 4B
01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 98 DA EB 8B AE 00 00 00 27
01 00 00 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 59 01 00 00 5F 72
65 6C 73 2F 2E 72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59
66 4B 9C 2D 27 53 C1 00 00 00 4D 01 00 00 0F 00 00 00 00 00 00 00 00
00 00 00 00 00 40 02 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D
6C 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 81 62 92 A2 D6 00
00 00 34 02 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 3E 03 00
00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 2E
72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 2A 7B 81
AB 61 01 00 00 C3 03 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00
5C 04 00 00 78 6C 2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74
31 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B FC 8A
2B 3D 46 01 00 00 69 03 00 00 0D 00 00 00 00 00 00 00 00 00 00 00 00
00 03 06 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C 50 4B 01 02 2D
00 14 00 08 00 08 00 11 59 66 4B F3 7E 6F 36 C5 00 00 00 58 01 00 00
14 00 00 00 00 00 00 00 00 00 00 00 00 00 84 07 00 00 78 6C 2F 73 68
61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 50 4B 05 06 00 00 00 00
07 00 07 00 C2 01 00 00 8B 08 00 00 00 00
损坏 Excel 文件的十六进制转储:
50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 48 EF BF BD
EF BF BD 18 01 00 00 33 03 00 00 13 00 00 00 5B 43 6F 6E 74 65 6E 74
5F 54 79 70 65 73 5D 2E 78 6D 6C EF BF BD EF BF BD EF BF BD 4A 03 31
10 EF BF BD 5F 65 EF BF BD 55 EF BF BD EF BF BD 1E 44 EF BF BD EF BF
BD 1E EF BF BD 1E 55 EF BF BD 3E EF BF BD EF BF BD EF BF BD 76 43 EF
BF BD CC B4 EF BF BD 6F 6F 36 2B 22 EF BF BD EF BF BD 1E 7A EF BF BD
24 EF BF BD EF BF BD EF BF BD EF BF BD 08 33 5F 1E EF BF BD 6B EF BF
BD EF BF BD EF BF BD EF BF BD D0 8A EF BF BD EF BF BD EF BF BD 06 EF
BF BD EF BF BD C6 86 4D 2B EF BF BD D6 8F EF BF BD 5B EF BF BD 10 43
30 EF BF BD 62 EF BF BD 56 1C EF BF BD EF BF BD 72 31 5F 1F 13 52 53
66 03 EF BF BD EF BF BD 67 4E 77 4A EF BF BD EF BF BD EF BF BD 03 C9
98 30 14 EF BF BD EF BF BD EF BF BD 03 EF BF BD 6B DE A8 04 7A 0B 1B
54 EF BF BD EF BF BD EF BF BD EF BF BD 31 30 06 EF BF BD EF BF BD EF
BF BD 21 16 EF BF BD 7B EF BF BD 60 EF BF BD 59 EF BF BD EF BF BD 75
2B 20 25 67 35 70 EF BF BD 52 EF BF BD 4C 34 0F EF BF BD 22 EF BF BD
EF BF BD EF BF BD 5D EF BF BD 61 6E 1F EF BF BD 09 EF BF BD EF BF BD
0B 44 66 74 EF BF BD EF BF BD 7A EF BF BD EF BF BD EF BF BD 34 EF BF
BD EF BF BD 34 24 3C EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 22
62 EF BF BD 59 EF BF BD 26 EF BF BD 2F 23 EF BF BD 52 46 30 EF BF BD
23 EF BF BD 77 EF BF BD 56 EF BF BD EF BF BD EF BF BD 31 EF BF BD 05
32 3F EF BF BD 2F EF BF BD EF BF BD EF BF BD EF BF BD 47 EF BF BD EF
BF BD EF BF BD 18 EF BF BD EF BF BD 6A 17 01 18 22 EF BF BD EF BF BD
EF BF BD EF BF BD 2A EF BF BD EF BF BD 65 76 41 10 EF BF BD 43 3A 47
31 2A EF BF BD EF BF BD EF BF BD 21 EF BF BD 79 EF BF BD 5C EF BF BD
EF BF BD 3C EF BF BD CF 86 6F 10 55 EF BF BD 7E EF BF BD 09 50 4B 07
08 EF BF BD 48 EF BF BD EF BF BD 18 01 00 00 33 03 00 00 50 4B 03 04
14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD EF BF BD EB 8B AE 00 00
00 27 01 00 00 0B 00 00 00 5F 72 65 6C 73 2F 2E 72 65 6C 73 EF BF BD
EF BF BD EF BF BD 0E EF BF BD 30 0C 06 EF BF BD 57 59 7A EF BF BD EF
BF BD 07 63 0C EF BF BD EF BF BD 31 EF BF BD 6A EF BF BD 01 EF BF BD
56 06 01 EF BF BD 65 EF BF BD 0A 6F EF BF BD 62 3C 78 6C EF BF BD EF
BF BD EF BF BD D3 B2 5E EF BF BD 3D D1 87 EF BF BD EF BF BD EF BF BD
22 CB 81 EF BF BD 55 EF BF BD 07 6B 04 EF BF BD EF BF BD EF BF BD EF
BF BD 08 2C 44 69 EF BF BD EF BF BD C8 A2 EF BF BD 15 03 EF BF BD 55
79 EF BF BD 49 EF BF BD 74 12 EF BF BD EF BF BD 05 EF BF BD 0C 1B 04
EF BF BD 31 EF BF BD 13 EF BF BD 41 EF BF BD 38 CB 90 EF BF BD 43 EF
BF BD 36 1D EF BF BD 59 EF BF BD 34 7A C3 9D 54 EF BF BD 34 EF BF BD
EF BF BD 79 7E EF BF BD EF BF BD D3 80 EF BF BD EF BF BD 1A 2D EF BF
BD 37 EF BF BD 00 D6 AE 0E EF BF BD EF BF BD EF BF BD EF BF BD 06 EF
BF BD 67 52 EF BF BD 19 6D EF BF BD 51 EF BF BD 48 EF BF BD EF BF BD
06 EF BF BD EF BF BD 65 EF BF BD 2F EF BF BD EF BF BD 68 EF BF BD 12
0A EF BF BD 2A EF BF BD EF BF BD EF BF BD EF BF BD 0D 50 4B 07 08 EF
BF BD EF BF BD EB 8B AE 00 00 00 27 01 00 00 50 4B 03 04 14 00 08 00
08 00 EF BF BD 53 66 4B EF BF BD 2D 27 53 EF BF BD 00 00 00 4D 01 00
00 0F 00 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C EF BF BD
EF BF BD EF BF BD 0E EF BF BD 30 0C 44 77 24 EF BF BD 21 EF BF BD 07
10 60 60 EF BF BD 52 16 60 40 42 EF BF BD EF BF BD 3D EF BF BD 2E EF
BF BD 48 EF BF BD EF BF BD 49 55 EF BF BD 7B EF BF BD 56 45 EF BF BD
EF BF BD DD 9D EF BF BD 4F 27 3B EF BF BD EF BF BD 0D EF BF BD EF BF
BD EF BF BD EF BF BD EF BF BD 58 50 C9 9B EF BF BD 42 21 44 EF BF BD
0D 38 15 17 18 EF BF BD EF BF BD 5B EF BF BD EF BF BD 54 CA 96 EF BF
BD 02 EF BF BD EF BF BD 68 D8 A3 6E 1D EF BF BD 24 EF BF BD EF BF BD
EF BF BD 46 10 58 EF BF BD 0C EF BF BD D8 98 10 EF BF BD 48 EF BF BD
EF BF BD 15 03 EF BF BD EF BF BD 62 03 EF BF BD EF BF BD 1D 51 4E 19
CF B7 EF BF BD 19 63 EF BF BD 5F 76 35 EF BF BD EF BF BD EF BF BD EF
BF BD 60 EF BF BD DB 87 4C EF BF BD 25 EF BF BD DB 92 03 EF BF BD EF
BF BD 31 38 E6 95 83 EF BF BD 1F 5C EF BF BD EF BF BD 02 EF BF BD 6C
48 EF BF BD 55 EF BF BD 57 EF BF BD 51 61 EF BF BD EF BF BD 63 EF BF
BD EF BF BD EF BF BD EF BF BD 62 48 EF BF BD EF BF BD EF BF BD 10 EF
BF BD 5B 6B 77 59 EF BF BD EF BF BD 09 EF BF BD EF BF BD D9 B7 EF BF
BD EF BF BD 36 6D EF BF BD 50 4B 07 08 EF BF BD 2D 27 53 EF BF BD 00
00 00 4D 01 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF
BF BD 62 EF BF BD EF BF BD EF BF BD 00 00 00 34 02 00 00 1A 00 00 00
78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 2E 72
65 6C 73 EF BF BD EF BF BD EF BF BD 6A EF BF BD 30 0C EF BF BD 5F EF
BF BD EF BF BD 38 EF BF BD 60 EF BF BD 51 EF BF BD EF BF BD 31 EF BF
BD 7F 1E 40 EF BF BD 4A 1C EF BF BD EF BF BD EF BF BD EF BF BD EF BF
BD EF BF BD EF BF BD 6B 36 56 52 28 63 EF BF BD EF BF BD EF BF BD 64
EF BF BD EF BF BD 3E EF BF BD EF BF BD EF BF BD 6B 1C D4 89 32 EF BF
BD 31 18 68 EF BF BD 1A 14 05 1B 5D 1F 3A 03 EF BF BD EF BF BD EF BF
BD EF BF BD 2B 28 16 0C 0E EF BF BD 18 EF BF BD EF BF BD 44 0C EF BF
BD EF BF BD 72 4B 03 4A 59 61 EF BF BD 27 56 EF BF BD 11 D8 80 17 49
6F 5A EF BF BD EF BF BD 34 22 57 31 51 28 2F 6D EF BF BD 23 4A 69 73
EF BF BD 13 EF BF BD 23 76 EF BF BD 17 75 EF BF BD EF BF BD EF BF BD
01 EF BF BD 4C EF BF BD 71 06 EF BF BD EF BF BD 35 EF BF BD EF BF BD
53 EF BF BD EF BF BD EF BF BD 63 EF BF BD EF BF BD EF BF BD DE A3 EF
BF BD 1C 29 C8 9D 08 7D EF BF BD EF BF BD C8 9E 48 0A 14 73 47 62 EF
BF BD 3A 62 EF BF BD 5D EF BF BD EF BF BD 50 41 DF 97 59 3C 52 EF BF
BD 65 1A EF BF BD 5F 5E 4D 7E EF BF BD EF BF BD EF BF BD 1F 1A EF BF
BD 31 EF BF BD EF BF BD 49 2E EF BF BD EF BF BD 5B EF BF BD C7 BF 32
EF BF BD EF BF BD DA AB 0B 50 4B 07 08 EF BF BD 62 EF BF BD EF BF BD
EF BF BD 00 00 00 34 02 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD
53 66 4B 2A 7B EF BF BD EF BF BD 61 01 00 00 EF BF BD 03 00 00 18 00
00 00 78 6C 2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E
78 6D 6C EF BF BD EF BF BD EF BF BD 4E EF BF BD 30 18 EF BF BD 6F EF
BF BD EF BF BD 2B 7F EF BF BD EF BF BD 02 2C EF BF BD 64 EF BF BD 33
EF BF BD EF BF BD 15 3E 46 33 EF BF BD EF BF BD EF BF BD EF BF BD E6
81 97 EF BF BD 2D 58 EF BF BD 05 EF BF BD EF BF BD C6 B3 16 EF BF BD
EF BF BD EF BF BD C3 97 EF BF BD EF BF BD EF BF BD 19 6F DF 9B 1A 5D
40 48 EF BF BD EF BF BD 04 EF BF BD 0B 0F 23 68 73 5E EF BF BD EF BF
BD EF BF BD EF BF BD 2A EF BF BD EF BF BD 78 EF BF BD EF BF BD 3D 17
27 59 01 28 EF BF BD EF BF BD 56 6E 44 EF BF BD 2B EF BF BD EF BF BD
0D 21 32 EF BF BD EF BF BD EF BF BD 72 EF BF BD 3B 68 EF BF BD EF BF
BD EF BF BD EF BF BD EF BF BD 2A EF BF BD 15 47 EF BF BD CB 92 EF BF
BD EF BF BD EF BF BD EF BF BD 40 EF BF BD 48 EF BF BD 79 2B 22 EF BF
BD EF BF BD 4A 57 C9 8A 75 12 5F EF BF BD EF BF BD EF BF BD 25 3B 01
EF BF BD 30 0A 4D 7D EF BF BD 6A 28 6B 71 1A 17 4C EF BF BD 0F EF BF
BD 48 40 EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 22 EF BF BD 48
1A 1B EF BF BD EF BF BD 41 2F 27 6B 34 7C EF BF BD 1B EF BF BD 61 EF
BF BD 54 24 EF BF BD 33 2C 71 EF BF BD EF BF BD 29 7F 16 EF BF BD EF
BF BD EF BF BD EF BF BD 6B EF BF BD EF BF BD EF BF BD 47 60 EF BF BD
4A EF BF BD 21 2D 7F EF BF BD 33 EF BF BD 68 1A 0B EF BF BD 23 3D 12
5F EF BF BD EF BF BD EF BF BD 62 EF BF BD 63 24 4D EF BF BD C6 A5 7E
7A 49 EF BF BD EF BF BD 5C 74 4F 7E 23 EF BF BD 2E EF BF BD CF 89 07
EF BF BD 08 EF BF BD 44 EF BF BD 12 EF BF BD 48 10 EF BF BD 34 EF BF
BD 05 EF BF BD 58 70 3B 62 0A 3D CF B6 0A EF BF BD EF BF BD C8 B2 72
EF BF BD EF BF BD 65 35 EF BF BD 58 4E 2B 66 4A EF BF BD 14 CE 95 EF
BF BD 31 EF BF BD 43 EF BF BD 70 65 29 EF BF BD EF BF BD EF BF BD 64
55 EF BF BD EF BF BD 14 EF BF BD 4E EF BF BD EF BF BD EF BF BD 35 EF
BF BD 7D EF BF BD 34 EF BF BD 5B 4E 2E EF BF BD EF BF BD EF BF BD EF
BF BD EF BF BD EF BF BD 44 26 D7 AB EF BF BD 57 1F C4 81 73 05 EF BF
BD EF BF BD EF BF BD EF BF BD 77 4C EF BF BD 01 50 4B 07 08 2A 7B EF
BF BD EF BF BD 61 01 00 00 EF BF BD 03 00 00 50 4B 03 04 14 00 08 00
08 00 EF BF BD 53 66 4B EF BF BD EF BF BD 2B 3D 46 01 00 00 69 03 00
00 0D 00 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C EF BF BD 53 4D
6F EF BF BD 30 0C EF BF BD 4F EF BF BD 7F EF BF BD EF BF BD 01 4B 5B
69 3B 4C EF BF BD EF BF BD 24 EF BF BD 5D 7A EF BF BD 0E EF BF BD EF
BF BD EF BF BD 40 24 EF BF BD 43 EF BF BD EF BF BD 60 EF BF BD 7E 40
EF BF BD 26 EF BF BD EF BF BD D4 9B EF BF BD EF BF BD EF BF BD 4D EF
BF BD 71 02 7E EF BF BD 39 47 32 2A D0 BE 2A 7A 44 EF BF BD 4A EF BF
BD 3F EF BF BD 5C 31 EF BF BD 64 2C EF BF BD 33 23 EF BF BD 53 0C EF
BF BD EF BF BD 75 EF BF BD 5B EF BF BD 59 EF BF BD 47 0A EF BF BD 61
EF BF BD 7B EF BF BD EF BF BD 49 5D EF BF BD 3D 3E 10 52 EF BF BD 41
EF BF BD 0A 3D 39 EF BF BD 41 63 55 EF BF BD 0A 42 03 21 EF BF BD 4E
EF BF BD 3E 54 47 38 EF BF BD 73 EF BF BD 7F EF BF BD 37 EF BF BD EF
BF BD EF BF BD 5F DE AD EF BF BD 66 EF BF BD 07 E2 9D 81 6C EF BF BD
4C 6C 49 EF BF BD 0A 21 EF BF BD EF BF BD 4E 02 5C EF BF BD 0E EF BF
BD 6E EF BF BD EF BF BD EF BF BD 65 EF BF BD EF BF BD EF BF BD 7A 06
49 EF BF BD 3F 27 CB AB 42 1B EF BF BD 6F 3C D2 B3 7B 25 3A C7 A6 EF
BF BD EF BF BD 79 53 25 EF BF BD EF BF BD EF BF BD C6 B8 EF BF BD EF
BF BD EF BF BD EF BF BD 04 22 59 01 17 EF BF BD 4F EF BF BD C9 AE EF
BF BD 01 EF BF BD EF BF BD 3C 6D 0C EF BF BD 51 39 EF BF BD 4A EF BF
BD 19 EF BF BD 20 EF BF BD 29 33 EF BF BD 24 EF BF BD EF BF BD 33 07
38 2D EF BF BD EF BF BD 25 36 EF BF BD 1B 05 09 EF BF BD EF BF BD 68
EF BF BD 2D 2F EF BF BD EF BF BD 61 5C 38 EF BF BD 05 EF BF BD EF BF
BD 5D 6A EF BF BD 5A EF BF BD EF BF BD EF BF BD 6A EF BF BD EF BF BD
EF BF BD EF BF BD 5B EF BF BD 73 EF BF BD EF BF BD EF BF BD 36 41 EF
BF BD EF BF BD 62 EF BF BD EF BF BD EF BF BD 75 EF BF BD 63 EF BF BD
EF BF BD CA 91 EF BF BD C6 AA E2 B8 B8 41 EF BF BD EF BF BD 0C 12 50
EF BF BD EF BF BD 3E 2D 5A EF BF BD EF BF BD EF BF BD 7B EF BF BD 25
4D 3F EF BF BD EF BF BD 2F 50 4B 07 08 EF BF BD EF BF BD 2B 3D 46 01
00 00 69 03 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF
BF BD 7E 6F 36 EF BF BD 00 00 00 58 01 00 00 14 00 00 00 78 6C 2F 73
68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 65 EF BF BD 41 4A 04
31 10 45 EF BF BD 12 0A 17 EF BF BD 70 D2 BA 10 EF BF BD 24 EF BF BD
50 46 14 74 EF BF BD 1E EF BF BD E8 AE 99 0E 74 2A 6D EF BF BD 5A EF
BF BD EF BF BD 1B 11 11 32 EF BF BD EF BF BD 3E EF BF BD 17 EF BF BD
EF BF BD 7E EF BF BD EF BF BD 7C 52 EF BF BD EF BF BD EF BF BD EF BF
BD C5 A6 03 43 EF BF BD EF BF BD 21 EF BF BD EF BF BD EF BF BD EF BF
BD EF BF BD EF BF BD EF BF BD 1A EF BF BD 28 EF BF BD 53 66 F2 B0 92
80 EF BF BD 06 27 EF BF BD EF BF BD 56 59 3C EF BF BD EF BF BD EF BF
BD D2 8F EF BF BD 50 36 79 26 EF BF BD EF BF BD 3E EF BF BD EF BF BD
5A EF BF BD 1C EF BF BD CC 85 70 EF BF BD EF BF BD 48 EF BF BD 64 2F
EF BF BD EF BF BD EF BF BD 26 EF BF BD 0C EF BF BD EF BF BD 0B EF BF
BD EF BF BD 1B 30 0B C7 8F EF BF BD EF BF BD EF BF BD EF BF BD 1E EF
BF BD EF BF BD 69 78 EF BF BD 77 56 EF BF BD EF BF BD 3F EF BF BD 6B
5E 30 51 EF BF BD 1E EF BF BD 07 2A EF BF BD 7D EF BF BD 09 EF BF BD
6A 4E 23 EF BF BD EF BF BD EF BF BD 36 7C EF BF BD DC AA EF BF BD D9
82 23 EF BF BD EF BF BD 26 31 EF BF BD EF BF BD EF BF BD EF BF BD 0B
5B 5F 13 EF BF BD 01 50 4B 07 08 EF BF BD 7E 6F 36 EF BF BD 00 00 00
58 01 00 00 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF
BF BD 48 EF BF BD EF BF BD 18 01 00 00 33 03 00 00 13 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79
70 65 73 5D 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD
53 66 4B EF BF BD EF BF BD EB 8B AE 00 00 00 27 01 00 00 0B 00 00 00
00 00 00 00 00 00 00 00 00 00 59 01 00 00 5F 72 65 6C 73 2F 2E 72 65
6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD
2D 27 53 EF BF BD 00 00 00 4D 01 00 00 0F 00 00 00 00 00 00 00 00 00
00 00 00 00 40 02 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C
50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 62 EF
BF BD EF BF BD EF BF BD 00 00 00 34 02 00 00 1A 00 00 00 00 00 00 00
00 00 00 00 00 00 3E 03 00 00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B
62 6F 6F 6B 2E 78 6D 6C 2E 72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00
08 00 EF BF BD 53 66 4B 2A 7B EF BF BD EF BF BD 61 01 00 00 EF BF BD
03 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 5C 04 00 00 78 6C
2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E 78 6D 6C 50
4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD EF BF BD
2B 3D 46 01 00 00 69 03 00 00 0D 00 00 00 00 00 00 00 00 00 00 00 00
00 03 06 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C 50 4B 01 02 2D
00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 7E 6F 36 EF BF BD 00
00 00 58 01 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 EF BF BD
07 00 00 78 6C 2F 73 68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C
50 4B 05 06 00 00 00 00 07 00 07 00 EF BF BD 01 00 00 EF BF BD 08 00
00 00 00
根据我的评论,我认为您将 http 响应提取为字符串而不是 blob。 :)
见
我不得不用 [AlloyAnonymous] 属性修饰 Web API 函数以获取 Angular http get RequestOptionsArgs,responseType: ResponseContentType.Blob 接受并最终调用 Web API 函数适当地。我想应该有更好的解决方法。
[HttpGet]
[AllowAnonymous]
public IActionResult GetSearchedReportsFile(string fileGuid)
{
byte[] fileBytes = System.IO.File.ReadAllBytes(@"C:\temp\epplus\" + fileGuid + ".xlsx");
return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "myfile.xlsx");
}
我也在使用 EPPlus return InMemory excel 工作簿作为字节数组,只有当我 运行 来自的 docker 容器时它才会被破坏Linux 主机与 Windows 主机。
using (var package = ExcelUtil.createExcelPackage(hits))
{
reportBytes = package.GetAsByteArray();
}
return File(reportBytes, XlsxContentType, fileDownloadName);
在 beyondcompare 中,我可以看到大约 14 个位置总是将 'C0 A4' 替换为“4F A5”,但我不知道它的相关性。大多数替换都在文件末尾附近,看起来像这样:
我不确定是什么原因造成的,但当我弄清楚后,我会 post 给出答案。我会对此发表评论,但图片似乎很相关,我相信我们很快就会想出一些办法...
我正在使用 .NET Core 和 EPPlus.Core 来生成 Excel 文件,用于创建报告。不幸的是,Excel 数据在服务器和客户端 (Angular2) 之间的某处损坏,我使用 FileSaver.js 来保存 Excel文件到磁盘。
这是我的网站 API 控制器:
[HttpGet]
public async Task<IActionResult> Get()
{
try
{
var report = await _reportService.GetReportAsync();
var mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
var fileBytes = report.Bytes;
return File(fileBytes, mimeType, report.Name);
}
catch (Exception exception)
{
return StatusCode((int)HttpStatusCode.InternalServerError, exception);
throw;
}
}
这是报告服务:
public async Task<Report> GetReportAsync()
{
byte[] bytes;
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Employee");
worksheet.Cells[1, 1].Value = "ID";
worksheet.Cells[1, 2].Value = "Name";
worksheet.Cells[1, 3].Value = "Gender";
worksheet.Cells[1, 4].Value = "Salary (in $)";
worksheet.Cells["A2"].Value = 1000;
worksheet.Cells["B2"].Value = "Jon";
worksheet.Cells["C2"].Value = "M";
worksheet.Cells["D2"].Value = 5000;
worksheet.Cells["A3"].Value = 1001;
worksheet.Cells["B3"].Value = "Graham";
worksheet.Cells["C3"].Value = "M";
worksheet.Cells["D3"].Value = 10000;
worksheet.Cells["A4"].Value = 1002;
worksheet.Cells["B4"].Value = "Jenny";
worksheet.Cells["C4"].Value = "F";
worksheet.Cells["D4"].Value = 5000;
bytes = package.GetAsByteArray();
/* WORKS FINE - FILE IS SAVED AND IS NOT CORRUPT */
const string path2 = @"c:\temp\test2.xlsx";
await File.WriteAllBytesAsync(path2, bytes);
/* WORKS FINE - FILE IS SAVED AND IS NOT CORRUPT */
}
return new Report(bytes);
}
这是客户端代码:
this.http.get(this.baseUri + uri, query).subscribe(response => {
if (response.status === 200) {
let fileSaver = require('file-saver');
let mediaType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
let blob = new Blob([response._body], { type: mediaType });
let filename = 'test.xlsx';
fileSaver.saveAs(blob, filename);
}
});
文件test2.xlsx保存成功,打开没有问题。如果我在 Notepad++ 中打开它,我可以看到这样的二进制文件:
Angular2客户端下载的文件test.xlsx无法在Excel中打开,因为数据已损坏,如果我打开它Notepad++ 中的文件我可以看到有区别 - 有效字符被垃圾替换:
我已经阅读了很多类似的问题,但没有任何内容能够让我朝着正确的方向前进。我尝试过的一些事情:
- 返回 application/octet-stream 而不是 Excel 文件
- 使用 XHR 而不是 Angular http.get(无法正常工作,因为我使用 Windows 协商令牌,我不知道我如何将此令牌类型与 XHR 一起使用)
- 像这样尝试返回 HttpResponseMessage 而不是 File:
var httpResponseMessage = new HttpResponseMessage {Content = new ByteArrayContent(report.Bytes)}; httpResponseMessage.Content.Headers.Add("x-filename", report.Name); httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") {FileName = Path.GetFileName(report.Name)}; httpResponseMessage.Content.Headers.ContentLength = report.Bytes.Length; httpResponseMessage.StatusCode = HttpStatusCode.OK; return httpResponseMessage;
This相关但不相同,我的文件损坏到无法修复和打开的程度。
有什么建议吗?会不会是编码问题?
更新
有效Excel文件的十六进制转储:
50 4B 03 04 14 00 08 00 08 00 11 59 66 4B E4 48 AD AF 18 01 00 00 33 03 00 00 13 00 00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79 70 65 73 5D 2E 78 6D 6C B5 92 CF 4A 03 31 10 C6 5F 65 C9 55 9A B4 1E 44 A4 DB 1E AA 1E 55 B0 3E C0 98 CC 76 43 F3 8F CC B4 B6 6F 6F 36 2B 22 A5 82 1E 7A 9A 24 DF CC F7 FD 08 33 5F 1E BC 6B F6 98 C9 C6 D0 8A 99 9C 8A 06 83 8E C6 86 4D 2B DE D6 8F 93 5B D1 10 43 30 E0 62 C0 56 1C 91 C4 72 31 5F 1F 13 52 53 66 03 B5 A2 67 4E 77 4A 91 EE D1 03 C9 98 30 14 A5 8B D9 03 97 6B DE A8 04 7A 0B 1B 54 D7 D3 E9 8D D2 31 30 06 9E F0 E0 21 16 F3 7B EC 60 E7 B8 59 8D EF 83 75 2B 20 25 67 35 70 C1 52 C5 4C 34 0F 87 22 8E 94 C3 5D FD 61 6E 1F CC 09 CC E4 0B 44 66 74 B5 87 7A 9B E8 EA 34 A0 A8 34 24 3C 97 8F C9 D6 E0 BF 22 62 D7 59 8D 26 EA 9D 2F 23 92 52 46 30 D4 23 B2 77 B2 56 E9 C1 86 31 F4 05 32 3F 81 2F AE EA E0 D4 47 CC DB F7 18 B7 B2 6A 17 01 18 22 EA F9 B7 FC 2A 92 AA 65 76 41 10 E2 A3 43 3A 47 31 2A 97 8C EE 21 A3 79 E5 5C 96 FC 3C C1 CF 86 6F 10 55 97 7E F1 09 50 4B 07 08 E4 48 AD AF 18 01 00 00 33 03 00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 98 DA EB 8B AE 00 00 00 27 01 00 00 0B 00 00 00 5F 72 65 6C 73 2F 2E 72 65 6C 73 8D CF C1 0E 82 30 0C 06 E0 57 59 7A 97 81 07 63 0C 83 8B 31 E1 6A F0 01 E6 56 06 01 D6 65 9B 0A 6F EF 8E 62 3C 78 6C FA F7 FB D3 B2 5E E6 89 3D D1 87 81 AC 80 22 CB 81 A1 55 A4 07 6B 04 DC DA CB EE 08 2C 44 69 B5 9C C8 A2 80 15 03 D4 55 79 C5 49 C6 74 12 FA C1 05 96 0C 1B 04 F4 31 BA 13 E7 41 F5 38 CB 90 91 43 9B 36 1D F9 59 C6 34 7A C3 9D 54 A3 34 C8 F7 79 7E E0 FE D3 80 AD C9 1A 2D C0 37 BA 00 D6 AE 0E FF B1 A9 EB 06 85 67 52 8F 19 6D FC 51 F1 95 48 B2 F4 06 A3 80 65 E2 2F F2 E3 9D 68 CC 12 0A BC 2A F9 E6 C1 EA 0D 50 4B 07 08 98 DA EB 8B AE 00 00 00 27 01 00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 9C 2D 27 53 C1 00 00 00 4D 01 00 00 0F 00 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 8D 8E B1 0E C2 30 0C 44 77 24 FE 21 CA 07 10 60 60 A8 52 16 60 40 42 82 89 3D A4 2E 8D 48 E2 C8 49 55 F8 7B D2 56 45 B0 B1 DD 9D CF 4F 27 3B A4 C7 0D F1 C1 9E CE FA 58 50 C9 9B 94 42 21 44 D4 0D 38 15 17 18 C0 E7 5B 8D E4 54 CA 96 EE 02 EB DA 68 D8 A3 6E 1D F8 24 D6 CB E5 46 10 58 95 0C FA D8 98 10 F9 48 FB 87 15 03 81 AA 62 03 90 9C 1D 51 4E 19 CF B7 F3 19 63 B2 5F 76 35 D0 C5 C1 E6 60 9A DB 87 4C 8C 25 F1 DB 92 03 EC F3 31 38 E6 95 83 92 1F 5C B0 F8 02 E0 6C 48 8F 55 C9 57 9C 51 61 B2 A0 63 95 F5 84 FC 62 48 AD AC BE 10 AB 5B 6B 77 59 9E FD 09 D5 F8 D9 B7 A5 98 36 6D DF 50 4B 07 08 9C 2D 27 53 C1 00 00 00 4D 01 00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 81 62 92 A2 D6 00 00 00 34 02 00 00 1A 00 00 00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 2E 72 65 6C 73 AD 91 CF 6A C3 30 0C 87 5F C5 E8 BE 38 E9 60 8C 51 B7 97 31 E8 B5 7F 1E 40 D8 4A 1C 9A D8 C6 D2 DA E5 ED 6B 36 56 52 28 63 87 9E 84 64 F4 FD 3E AC E5 FA 6B 1C D4 89 32 F7 31 18 68 AA 1A 14 05 1B 5D 1F 3A 03 87 FD C7 D3 2B 28 16 0C 0E 87 18 C8 C0 44 0C EB D5 72 4B 03 4A 59 61 DF 27 56 85 11 D8 80 17 49 6F 5A B3 F5 34 22 57 31 51 28 2F 6D CC 23 4A 69 73 A7 13 DA 23 76 A4 17 75 FD A2 F3 9C 01 B7 4C B5 71 06 F2 C6 35 A0 F6 53 A2 FF B0 63 DB F6 96 DE A3 FD 1C 29 C8 9D 08 7D 8E F9 C8 9E 48 0A 14 73 47 62 E0 3A 62 FD 5D 9A AA 50 41 DF 97 59 3C 52 86 65 1A CA 5F 5E 4D 7E FA BF E2 9F 1F 1A EF 31 93 DB 49 2E 87 9E 5B CC C7 BF 32 FA E6 DA AB 0B 50 4B 07 08 81 62 92 A2 D6 00 00 00 34 02 00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B 2A 7B 81 AB 61 01 00 00 C3 03 00 00 18 00 00 00 78 6C 2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E 78 6D 6C 8D 93 DD 4E 83 30 18 86 6F A5 E9 B9 2B 7F 9B CB 02 2C 9B 64 D1 33 E3 81 E7 15 3E 46 33 A0 A4 ED 86 F7 E6 81 97 E4 2D 58 BA 05 A1 8D C6 B3 16 9E BE EF C3 97 F2 F5 F1 19 6F DF 9B 1A 5D 40 48 C6 DB 04 FB 0B 0F 23 68 73 5E B0 F6 98 E0 B3 2A EF D6 78 9B C6 3D 17 27 59 01 28 A4 F1 56 6E 44 82 2B A5 BA 0D 21 32 AF A0 A1 72 C1 3B 68 F5 BB 92 8B 86 2A BD 15 47 C2 CB 92 E5 90 F1 FC DC 40 AB 48 E0 79 2B 22 A0 A6 4A 57 C9 8A 75 12 5F D3 FE 93 25 3B 01 B4 30 0A 4D 7D 8D 6A 28 6B 71 1A 17 4C A7 0F F6 48 40 99 E0 9D BF C9 22 8C 48 1A 1B F8 95 41 2F 27 6B 34 7C C9 1B E7 A7 61 F3 54 24 D8 33 2C 71 E0 83 29 7F 16 A8 80 92 9E 6B F5 C2 FB 47 60 C7 4A E9 21 2D 7F F2 33 AA 68 1A 0B DE 23 3D 12 5F EB E4 C3 62 E7 63 24 4D B6 C6 A5 7E 7A 49 BD 98 5C 74 4F 7E 23 F6 2E E1 CF 89 07 97 08 E6 44 E6 12 E1 48 10 ED 34 8A 05 A3 58 70 3B 62 0A 3D CF B6 0A 9C C4 C8 B2 72 89 A5 65 35 AD 58 4E 2B 66 4A E1 A8 14 CE 95 AC 31 EC 43 A7 70 65 29 B9 84 AD 64 55 FC E6 14 8D 4E D1 FC 80 35 F8 7D E4 34 DE 5B 4E 2E B1 B6 9C A2 BF C7 44 26 D7 AB D2 57 1F C4 81 73 05 C2 DC D6 F1 77 4C BF 01 50 4B 07 08 2A 7B 81 AB 61 01 00 00 C3 03 00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B FC 8A 2B 3D 46 01 00 00 69 03 00 00 0D 00 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C 8D 53 4D 6F 83 30 0C BD 4F DA 7F 88 F8 01 4B 5B 69 3B 4C B0 CB 24 A4 5D 7A E9 0E BB 86 92 40 24 E7 43 89 99 60 BF 7E 40 D2 26 9D 98 D4 9B FD 9E F3 9E B1 4D E9 71 02 7E EA 39 47 32 2A D0 BE 2A 7A 44 FB 4A A9 3F F7 5C 31 FF 64 2C D7 33 23 8C 53 0C E7 D4 75 D4 5B C7 59 EB 97 47 0A E8 61 B7 7B A1 8A 49 5D BC 3D 3E 10 52 EA 41 D5 0A 3D 39 9B 41 63 55 EC 0A 42 03 21 8C 4E F0 3E 54 47 38 C6 73 E6 7F C8 37 83 99 DF 5F DE AD B0 66 8A 07 E2 9D 81 6C 9C 4C 6C 49 AF 0A 21 F4 D1 4E 02 5C ED 0E C9 6E 86 93 AE 65 88 DC E9 7A 06 49 8C 3F 27 CB AB 42 1B CD 6F 3C D2 B3 7B 25 3A C7 A6 FD E1 79 53 25 84 B1 D3 C6 B8 96 BB 8D D1 04 22 59 01 17 98 4F C5 C9 AE BF 01 D0 D8 3C 6D 0C A2 51 39 D2 4A D6 19 CD 20 EB 29 33 B9 24 B1 AF 33 07 38 2D F7 F1 25 36 9A 1B 05 09 AB FE 68 D7 2D 2F A3 8F 61 5C 38 CD 05 92 E4 5D 6A CC 5A 98 8E 83 6A B8 AB D7 D3 5B 8A 73 8F B5 A0 36 41 85 8C 62 C3 FA C6 75 ED 63 C3 F8 CA 91 E5 C6 AA E2 B8 B8 41 A6 D8 0C 12 50 EA FF 3E 2D 5A B4 A3 F8 7B F2 25 4D 3F D7 DB 2F 50 4B 07 08 FC 8A 2B 3D 46 01 00 00 69 03 00 00 50 4B 03 04 14 00 08 00 08 00 11 59 66 4B F3 7E 6F 36 C5 00 00 00 58 01 00 00 14 00 00 00 78 6C 2F 73 68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 65 90 41 4A 04 31 10 45 AF 12 0A 17 BA 70 D2 BA 10 95 24 B3 50 46 14 74 A3 1E A0 E8 AE 99 0E 74 2A 6D AA 5A EC DB 1B 11 11 32 CB F7 3E FF 17 94 DB 7E A5 C9 7C 52 91 98 D9 C3 C5 A6 03 43 DC E7 21 F2 C1 C3 FB DB EE FC 1A 8C 28 F2 80 53 66 F2 B0 92 80 D9 06 27 A2 A6 56 59 3C 8C AA F3 AD B5 D2 8F 94 50 36 79 26 AE C9 3E 97 84 5A B1 1C AC CC 85 70 90 91 48 D3 64 2F BB EE CA 26 8C 0C A6 CF 0B AB 87 1B 30 0B C7 8F 85 EE FE B8 1E 88 C1 69 78 BC 77 56 83 B3 3F F4 6B 5E 30 51 EB 1E 88 07 2A AD 7D C5 09 CB 6A 4E 23 9B 93 B3 36 7C CA DC AA E7 A3 D9 82 23 A6 A3 26 31 AF AD DC FD 0B 5B 5F 13 BE 01 50 4B 07 08 F3 7E 6F 36 C5 00 00 00 58 01 00 00 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B E4 48 AD AF 18 01 00 00 33 03 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79 70 65 73 5D 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 98 DA EB 8B AE 00 00 00 27 01 00 00 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 59 01 00 00 5F 72 65 6C 73 2F 2E 72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 9C 2D 27 53 C1 00 00 00 4D 01 00 00 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 40 02 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 81 62 92 A2 D6 00 00 00 34 02 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 3E 03 00 00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 2E 72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B 2A 7B 81 AB 61 01 00 00 C3 03 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 5C 04 00 00 78 6C 2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B FC 8A 2B 3D 46 01 00 00 69 03 00 00 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 03 06 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 11 59 66 4B F3 7E 6F 36 C5 00 00 00 58 01 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 84 07 00 00 78 6C 2F 73 68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 50 4B 05 06 00 00 00 00 07 00 07 00 C2 01 00 00 8B 08 00 00 00 00
损坏 Excel 文件的十六进制转储:
50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 48 EF BF BD EF BF BD 18 01 00 00 33 03 00 00 13 00 00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79 70 65 73 5D 2E 78 6D 6C EF BF BD EF BF BD EF BF BD 4A 03 31 10 EF BF BD 5F 65 EF BF BD 55 EF BF BD EF BF BD 1E 44 EF BF BD EF BF BD 1E EF BF BD 1E 55 EF BF BD 3E EF BF BD EF BF BD EF BF BD 76 43 EF BF BD CC B4 EF BF BD 6F 6F 36 2B 22 EF BF BD EF BF BD 1E 7A EF BF BD 24 EF BF BD EF BF BD EF BF BD EF BF BD 08 33 5F 1E EF BF BD 6B EF BF BD EF BF BD EF BF BD EF BF BD D0 8A EF BF BD EF BF BD EF BF BD 06 EF BF BD EF BF BD C6 86 4D 2B EF BF BD D6 8F EF BF BD 5B EF BF BD 10 43 30 EF BF BD 62 EF BF BD 56 1C EF BF BD EF BF BD 72 31 5F 1F 13 52 53 66 03 EF BF BD EF BF BD 67 4E 77 4A EF BF BD EF BF BD EF BF BD 03 C9 98 30 14 EF BF BD EF BF BD EF BF BD 03 EF BF BD 6B DE A8 04 7A 0B 1B 54 EF BF BD EF BF BD EF BF BD EF BF BD 31 30 06 EF BF BD EF BF BD EF BF BD 21 16 EF BF BD 7B EF BF BD 60 EF BF BD 59 EF BF BD EF BF BD 75 2B 20 25 67 35 70 EF BF BD 52 EF BF BD 4C 34 0F EF BF BD 22 EF BF BD EF BF BD EF BF BD 5D EF BF BD 61 6E 1F EF BF BD 09 EF BF BD EF BF BD 0B 44 66 74 EF BF BD EF BF BD 7A EF BF BD EF BF BD EF BF BD 34 EF BF BD EF BF BD 34 24 3C EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 22 62 EF BF BD 59 EF BF BD 26 EF BF BD 2F 23 EF BF BD 52 46 30 EF BF BD 23 EF BF BD 77 EF BF BD 56 EF BF BD EF BF BD EF BF BD 31 EF BF BD 05 32 3F EF BF BD 2F EF BF BD EF BF BD EF BF BD EF BF BD 47 EF BF BD EF BF BD EF BF BD 18 EF BF BD EF BF BD 6A 17 01 18 22 EF BF BD EF BF BD EF BF BD EF BF BD 2A EF BF BD EF BF BD 65 76 41 10 EF BF BD 43 3A 47 31 2A EF BF BD EF BF BD EF BF BD 21 EF BF BD 79 EF BF BD 5C EF BF BD EF BF BD 3C EF BF BD CF 86 6F 10 55 EF BF BD 7E EF BF BD 09 50 4B 07 08 EF BF BD 48 EF BF BD EF BF BD 18 01 00 00 33 03 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD EF BF BD EB 8B AE 00 00 00 27 01 00 00 0B 00 00 00 5F 72 65 6C 73 2F 2E 72 65 6C 73 EF BF BD EF BF BD EF BF BD 0E EF BF BD 30 0C 06 EF BF BD 57 59 7A EF BF BD EF BF BD 07 63 0C EF BF BD EF BF BD 31 EF BF BD 6A EF BF BD 01 EF BF BD 56 06 01 EF BF BD 65 EF BF BD 0A 6F EF BF BD 62 3C 78 6C EF BF BD EF BF BD EF BF BD D3 B2 5E EF BF BD 3D D1 87 EF BF BD EF BF BD EF BF BD 22 CB 81 EF BF BD 55 EF BF BD 07 6B 04 EF BF BD EF BF BD EF BF BD EF BF BD 08 2C 44 69 EF BF BD EF BF BD C8 A2 EF BF BD 15 03 EF BF BD 55 79 EF BF BD 49 EF BF BD 74 12 EF BF BD EF BF BD 05 EF BF BD 0C 1B 04 EF BF BD 31 EF BF BD 13 EF BF BD 41 EF BF BD 38 CB 90 EF BF BD 43 EF BF BD 36 1D EF BF BD 59 EF BF BD 34 7A C3 9D 54 EF BF BD 34 EF BF BD EF BF BD 79 7E EF BF BD EF BF BD D3 80 EF BF BD EF BF BD 1A 2D EF BF BD 37 EF BF BD 00 D6 AE 0E EF BF BD EF BF BD EF BF BD EF BF BD 06 EF BF BD 67 52 EF BF BD 19 6D EF BF BD 51 EF BF BD 48 EF BF BD EF BF BD 06 EF BF BD EF BF BD 65 EF BF BD 2F EF BF BD EF BF BD 68 EF BF BD 12 0A EF BF BD 2A EF BF BD EF BF BD EF BF BD EF BF BD 0D 50 4B 07 08 EF BF BD EF BF BD EB 8B AE 00 00 00 27 01 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 2D 27 53 EF BF BD 00 00 00 4D 01 00 00 0F 00 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C EF BF BD EF BF BD EF BF BD 0E EF BF BD 30 0C 44 77 24 EF BF BD 21 EF BF BD 07 10 60 60 EF BF BD 52 16 60 40 42 EF BF BD EF BF BD 3D EF BF BD 2E EF BF BD 48 EF BF BD EF BF BD 49 55 EF BF BD 7B EF BF BD 56 45 EF BF BD EF BF BD DD 9D EF BF BD 4F 27 3B EF BF BD EF BF BD 0D EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 58 50 C9 9B EF BF BD 42 21 44 EF BF BD 0D 38 15 17 18 EF BF BD EF BF BD 5B EF BF BD EF BF BD 54 CA 96 EF BF BD 02 EF BF BD EF BF BD 68 D8 A3 6E 1D EF BF BD 24 EF BF BD EF BF BD EF BF BD 46 10 58 EF BF BD 0C EF BF BD D8 98 10 EF BF BD 48 EF BF BD EF BF BD 15 03 EF BF BD EF BF BD 62 03 EF BF BD EF BF BD 1D 51 4E 19 CF B7 EF BF BD 19 63 EF BF BD 5F 76 35 EF BF BD EF BF BD EF BF BD EF BF BD 60 EF BF BD DB 87 4C EF BF BD 25 EF BF BD DB 92 03 EF BF BD EF BF BD 31 38 E6 95 83 EF BF BD 1F 5C EF BF BD EF BF BD 02 EF BF BD 6C 48 EF BF BD 55 EF BF BD 57 EF BF BD 51 61 EF BF BD EF BF BD 63 EF BF BD EF BF BD EF BF BD EF BF BD 62 48 EF BF BD EF BF BD EF BF BD 10 EF BF BD 5B 6B 77 59 EF BF BD EF BF BD 09 EF BF BD EF BF BD D9 B7 EF BF BD EF BF BD 36 6D EF BF BD 50 4B 07 08 EF BF BD 2D 27 53 EF BF BD 00 00 00 4D 01 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 62 EF BF BD EF BF BD EF BF BD 00 00 00 34 02 00 00 1A 00 00 00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 2E 72 65 6C 73 EF BF BD EF BF BD EF BF BD 6A EF BF BD 30 0C EF BF BD 5F EF BF BD EF BF BD 38 EF BF BD 60 EF BF BD 51 EF BF BD EF BF BD 31 EF BF BD 7F 1E 40 EF BF BD 4A 1C EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 6B 36 56 52 28 63 EF BF BD EF BF BD EF BF BD 64 EF BF BD EF BF BD 3E EF BF BD EF BF BD EF BF BD 6B 1C D4 89 32 EF BF BD 31 18 68 EF BF BD 1A 14 05 1B 5D 1F 3A 03 EF BF BD EF BF BD EF BF BD EF BF BD 2B 28 16 0C 0E EF BF BD 18 EF BF BD EF BF BD 44 0C EF BF BD EF BF BD 72 4B 03 4A 59 61 EF BF BD 27 56 EF BF BD 11 D8 80 17 49 6F 5A EF BF BD EF BF BD 34 22 57 31 51 28 2F 6D EF BF BD 23 4A 69 73 EF BF BD 13 EF BF BD 23 76 EF BF BD 17 75 EF BF BD EF BF BD EF BF BD 01 EF BF BD 4C EF BF BD 71 06 EF BF BD EF BF BD 35 EF BF BD EF BF BD 53 EF BF BD EF BF BD EF BF BD 63 EF BF BD EF BF BD EF BF BD DE A3 EF BF BD 1C 29 C8 9D 08 7D EF BF BD EF BF BD C8 9E 48 0A 14 73 47 62 EF BF BD 3A 62 EF BF BD 5D EF BF BD EF BF BD 50 41 DF 97 59 3C 52 EF BF BD 65 1A EF BF BD 5F 5E 4D 7E EF BF BD EF BF BD EF BF BD 1F 1A EF BF BD 31 EF BF BD EF BF BD 49 2E EF BF BD EF BF BD 5B EF BF BD C7 BF 32 EF BF BD EF BF BD DA AB 0B 50 4B 07 08 EF BF BD 62 EF BF BD EF BF BD EF BF BD 00 00 00 34 02 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B 2A 7B EF BF BD EF BF BD 61 01 00 00 EF BF BD 03 00 00 18 00 00 00 78 6C 2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E 78 6D 6C EF BF BD EF BF BD EF BF BD 4E EF BF BD 30 18 EF BF BD 6F EF BF BD EF BF BD 2B 7F EF BF BD EF BF BD 02 2C EF BF BD 64 EF BF BD 33 EF BF BD EF BF BD 15 3E 46 33 EF BF BD EF BF BD EF BF BD EF BF BD E6 81 97 EF BF BD 2D 58 EF BF BD 05 EF BF BD EF BF BD C6 B3 16 EF BF BD EF BF BD EF BF BD C3 97 EF BF BD EF BF BD EF BF BD 19 6F DF 9B 1A 5D 40 48 EF BF BD EF BF BD 04 EF BF BD 0B 0F 23 68 73 5E EF BF BD EF BF BD EF BF BD EF BF BD 2A EF BF BD EF BF BD 78 EF BF BD EF BF BD 3D 17 27 59 01 28 EF BF BD EF BF BD 56 6E 44 EF BF BD 2B EF BF BD EF BF BD 0D 21 32 EF BF BD EF BF BD EF BF BD 72 EF BF BD 3B 68 EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 2A EF BF BD 15 47 EF BF BD CB 92 EF BF BD EF BF BD EF BF BD EF BF BD 40 EF BF BD 48 EF BF BD 79 2B 22 EF BF BD EF BF BD 4A 57 C9 8A 75 12 5F EF BF BD EF BF BD EF BF BD 25 3B 01 EF BF BD 30 0A 4D 7D EF BF BD 6A 28 6B 71 1A 17 4C EF BF BD 0F EF BF BD 48 40 EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 22 EF BF BD 48 1A 1B EF BF BD EF BF BD 41 2F 27 6B 34 7C EF BF BD 1B EF BF BD 61 EF BF BD 54 24 EF BF BD 33 2C 71 EF BF BD EF BF BD 29 7F 16 EF BF BD EF BF BD EF BF BD EF BF BD 6B EF BF BD EF BF BD EF BF BD 47 60 EF BF BD 4A EF BF BD 21 2D 7F EF BF BD 33 EF BF BD 68 1A 0B EF BF BD 23 3D 12 5F EF BF BD EF BF BD EF BF BD 62 EF BF BD 63 24 4D EF BF BD C6 A5 7E 7A 49 EF BF BD EF BF BD 5C 74 4F 7E 23 EF BF BD 2E EF BF BD CF 89 07 EF BF BD 08 EF BF BD 44 EF BF BD 12 EF BF BD 48 10 EF BF BD 34 EF BF BD 05 EF BF BD 58 70 3B 62 0A 3D CF B6 0A EF BF BD EF BF BD C8 B2 72 EF BF BD EF BF BD 65 35 EF BF BD 58 4E 2B 66 4A EF BF BD 14 CE 95 EF BF BD 31 EF BF BD 43 EF BF BD 70 65 29 EF BF BD EF BF BD EF BF BD 64 55 EF BF BD EF BF BD 14 EF BF BD 4E EF BF BD EF BF BD EF BF BD 35 EF BF BD 7D EF BF BD 34 EF BF BD 5B 4E 2E EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 44 26 D7 AB EF BF BD 57 1F C4 81 73 05 EF BF BD EF BF BD EF BF BD EF BF BD 77 4C EF BF BD 01 50 4B 07 08 2A 7B EF BF BD EF BF BD 61 01 00 00 EF BF BD 03 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD EF BF BD 2B 3D 46 01 00 00 69 03 00 00 0D 00 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C EF BF BD 53 4D 6F EF BF BD 30 0C EF BF BD 4F EF BF BD 7F EF BF BD EF BF BD 01 4B 5B 69 3B 4C EF BF BD EF BF BD 24 EF BF BD 5D 7A EF BF BD 0E EF BF BD EF BF BD EF BF BD 40 24 EF BF BD 43 EF BF BD EF BF BD 60 EF BF BD 7E 40 EF BF BD 26 EF BF BD EF BF BD D4 9B EF BF BD EF BF BD EF BF BD 4D EF BF BD 71 02 7E EF BF BD 39 47 32 2A D0 BE 2A 7A 44 EF BF BD 4A EF BF BD 3F EF BF BD 5C 31 EF BF BD 64 2C EF BF BD 33 23 EF BF BD 53 0C EF BF BD EF BF BD 75 EF BF BD 5B EF BF BD 59 EF BF BD 47 0A EF BF BD 61 EF BF BD 7B EF BF BD EF BF BD 49 5D EF BF BD 3D 3E 10 52 EF BF BD 41 EF BF BD 0A 3D 39 EF BF BD 41 63 55 EF BF BD 0A 42 03 21 EF BF BD 4E EF BF BD 3E 54 47 38 EF BF BD 73 EF BF BD 7F EF BF BD 37 EF BF BD EF BF BD EF BF BD 5F DE AD EF BF BD 66 EF BF BD 07 E2 9D 81 6C EF BF BD 4C 6C 49 EF BF BD 0A 21 EF BF BD EF BF BD 4E 02 5C EF BF BD 0E EF BF BD 6E EF BF BD EF BF BD EF BF BD 65 EF BF BD EF BF BD EF BF BD 7A 06 49 EF BF BD 3F 27 CB AB 42 1B EF BF BD 6F 3C D2 B3 7B 25 3A C7 A6 EF BF BD EF BF BD 79 53 25 EF BF BD EF BF BD EF BF BD C6 B8 EF BF BD EF BF BD EF BF BD EF BF BD 04 22 59 01 17 EF BF BD 4F EF BF BD C9 AE EF BF BD 01 EF BF BD EF BF BD 3C 6D 0C EF BF BD 51 39 EF BF BD 4A EF BF BD 19 EF BF BD 20 EF BF BD 29 33 EF BF BD 24 EF BF BD EF BF BD 33 07 38 2D EF BF BD EF BF BD 25 36 EF BF BD 1B 05 09 EF BF BD EF BF BD 68 EF BF BD 2D 2F EF BF BD EF BF BD 61 5C 38 EF BF BD 05 EF BF BD EF BF BD 5D 6A EF BF BD 5A EF BF BD EF BF BD EF BF BD 6A EF BF BD EF BF BD EF BF BD EF BF BD 5B EF BF BD 73 EF BF BD EF BF BD EF BF BD 36 41 EF BF BD EF BF BD 62 EF BF BD EF BF BD EF BF BD 75 EF BF BD 63 EF BF BD EF BF BD CA 91 EF BF BD C6 AA E2 B8 B8 41 EF BF BD EF BF BD 0C 12 50 EF BF BD EF BF BD 3E 2D 5A EF BF BD EF BF BD EF BF BD 7B EF BF BD 25 4D 3F EF BF BD EF BF BD 2F 50 4B 07 08 EF BF BD EF BF BD 2B 3D 46 01 00 00 69 03 00 00 50 4B 03 04 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 7E 6F 36 EF BF BD 00 00 00 58 01 00 00 14 00 00 00 78 6C 2F 73 68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 65 EF BF BD 41 4A 04 31 10 45 EF BF BD 12 0A 17 EF BF BD 70 D2 BA 10 EF BF BD 24 EF BF BD 50 46 14 74 EF BF BD 1E EF BF BD E8 AE 99 0E 74 2A 6D EF BF BD 5A EF BF BD EF BF BD 1B 11 11 32 EF BF BD EF BF BD 3E EF BF BD 17 EF BF BD EF BF BD 7E EF BF BD EF BF BD 7C 52 EF BF BD EF BF BD EF BF BD EF BF BD C5 A6 03 43 EF BF BD EF BF BD 21 EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD 1A EF BF BD 28 EF BF BD 53 66 F2 B0 92 80 EF BF BD 06 27 EF BF BD EF BF BD 56 59 3C EF BF BD EF BF BD EF BF BD D2 8F EF BF BD 50 36 79 26 EF BF BD EF BF BD 3E EF BF BD EF BF BD 5A EF BF BD 1C EF BF BD CC 85 70 EF BF BD EF BF BD 48 EF BF BD 64 2F EF BF BD EF BF BD EF BF BD 26 EF BF BD 0C EF BF BD EF BF BD 0B EF BF BD EF BF BD 1B 30 0B C7 8F EF BF BD EF BF BD EF BF BD EF BF BD 1E EF BF BD EF BF BD 69 78 EF BF BD 77 56 EF BF BD EF BF BD 3F EF BF BD 6B 5E 30 51 EF BF BD 1E EF BF BD 07 2A EF BF BD 7D EF BF BD 09 EF BF BD 6A 4E 23 EF BF BD EF BF BD EF BF BD 36 7C EF BF BD DC AA EF BF BD D9 82 23 EF BF BD EF BF BD 26 31 EF BF BD EF BF BD EF BF BD EF BF BD 0B 5B 5F 13 EF BF BD 01 50 4B 07 08 EF BF BD 7E 6F 36 EF BF BD 00 00 00 58 01 00 00 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 48 EF BF BD EF BF BD 18 01 00 00 33 03 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5B 43 6F 6E 74 65 6E 74 5F 54 79 70 65 73 5D 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD EF BF BD EB 8B AE 00 00 00 27 01 00 00 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 59 01 00 00 5F 72 65 6C 73 2F 2E 72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 2D 27 53 EF BF BD 00 00 00 4D 01 00 00 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 40 02 00 00 78 6C 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 62 EF BF BD EF BF BD EF BF BD 00 00 00 34 02 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 3E 03 00 00 78 6C 2F 5F 72 65 6C 73 2F 77 6F 72 6B 62 6F 6F 6B 2E 78 6D 6C 2E 72 65 6C 73 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B 2A 7B EF BF BD EF BF BD 61 01 00 00 EF BF BD 03 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 5C 04 00 00 78 6C 2F 77 6F 72 6B 73 68 65 65 74 73 2F 73 68 65 65 74 31 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD EF BF BD 2B 3D 46 01 00 00 69 03 00 00 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 03 06 00 00 78 6C 2F 73 74 79 6C 65 73 2E 78 6D 6C 50 4B 01 02 2D 00 14 00 08 00 08 00 EF BF BD 53 66 4B EF BF BD 7E 6F 36 EF BF BD 00 00 00 58 01 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 EF BF BD 07 00 00 78 6C 2F 73 68 61 72 65 64 53 74 72 69 6E 67 73 2E 78 6D 6C 50 4B 05 06 00 00 00 00 07 00 07 00 EF BF BD 01 00 00 EF BF BD 08 00 00 00 00
根据我的评论,我认为您将 http 响应提取为字符串而不是 blob。 :)
见
我不得不用 [AlloyAnonymous] 属性修饰 Web API 函数以获取 Angular http get RequestOptionsArgs,responseType: ResponseContentType.Blob 接受并最终调用 Web API 函数适当地。我想应该有更好的解决方法。
[HttpGet]
[AllowAnonymous]
public IActionResult GetSearchedReportsFile(string fileGuid)
{
byte[] fileBytes = System.IO.File.ReadAllBytes(@"C:\temp\epplus\" + fileGuid + ".xlsx");
return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "myfile.xlsx");
}
我也在使用 EPPlus return InMemory excel 工作簿作为字节数组,只有当我 运行 来自的 docker 容器时它才会被破坏Linux 主机与 Windows 主机。
using (var package = ExcelUtil.createExcelPackage(hits))
{
reportBytes = package.GetAsByteArray();
}
return File(reportBytes, XlsxContentType, fileDownloadName);
在 beyondcompare 中,我可以看到大约 14 个位置总是将 'C0 A4' 替换为“4F A5”,但我不知道它的相关性。大多数替换都在文件末尾附近,看起来像这样:
我不确定是什么原因造成的,但当我弄清楚后,我会 post 给出答案。我会对此发表评论,但图片似乎很相关,我相信我们很快就会想出一些办法...