问题描述
ExcelParser.createWorkbookFromPath 使用区分大小写的字符串比较判断 Excel 扩展名:
extension.Equals(".xls")
extension.Equals(".xlsx")
因此内容完全有效、但扩展名为 .XLS 或 .XLSX 的文件会被错误拒绝。
确认环境:
- 分支:
master
- 提交:
a736f3b850bb454268093b8c1a409627649393e8
- 文件:
EasyDbc/Parsers/ExcelParser.cs
复现步骤
- 创建一个有效的
source.xlsx。
- 将其重命名为
source.XLSX。
- 调用
ParseFirstSheetFromPath。
同样的问题也可以通过把 .xls 重命名为 .XLS 复现。
实际结果
扩展名无法匹配 .xls 或 .xlsx,解析器返回格式错误,或者由于调用方没有检查状态而进一步变成 UnknownError。
期望结果
.xls、.XLS、.xlsx、.XLSX 应被视为等价扩展名。
建议修复方式
if (extension.Equals(
".xls",
StringComparison.OrdinalIgnoreCase))
{
// ...
}
else if (extension.Equals(
".xlsx",
StringComparison.OrdinalIgnoreCase))
{
// ...
}
问题描述
ExcelParser.createWorkbookFromPath使用区分大小写的字符串比较判断 Excel 扩展名:因此内容完全有效、但扩展名为
.XLS或.XLSX的文件会被错误拒绝。确认环境:
mastera736f3b850bb454268093b8c1a409627649393e8EasyDbc/Parsers/ExcelParser.cs复现步骤
source.xlsx。source.XLSX。ParseFirstSheetFromPath。同样的问题也可以通过把
.xls重命名为.XLS复现。实际结果
扩展名无法匹配
.xls或.xlsx,解析器返回格式错误,或者由于调用方没有检查状态而进一步变成UnknownError。期望结果
.xls、.XLS、.xlsx、.XLSX应被视为等价扩展名。建议修复方式