我在Office 2010中创建了一个简单的文件* .xlsx,其中包含3个电子表格。只使用第一个并且在单元格中具有简单的公式,如Sum和Multiplication。它还包含17列和4k行填充。单元格的数据类型包括:数字,短日期,长日期和文本。当我尝试使用OpenXml SDK 2.5读取该文件并验证它以确保此文件正确时,我正在接受这个奇怪的异常:
ErrorType:架构。
错误说明:属性“verticalDpi”的值为“0”。 MinInclusive约束失败。该值必须大于或等于1.
这是我正在阅读和验证的方法:
VB.NET:
Using spreadsheet As SpreadsheetDocument = SpreadsheetDocument.Open(m_FileName, False)
Dim validator As New OpenXmlValidator
Dim errorsValidation As IEnumerable(Of DocumentFormat.OpenXml.Validation.ValidationErrorInfo) = validator.Validate(spreadsheet)
If Not errorsValidation.Any() Then
'Do something here if it's correct
Else
Console.WriteLine(errorsValidation.First().Description)
End If
End Using
C#:
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(m_FileName, false)) {
OpenXmlValidator validator = new OpenXmlValidator();
IEnumerable<DocumentFormat.OpenXml.Validation.ValidationErrorInfo> errorsValidation = validator.Validate(spreadsheet);
if (!errorsValidation.Any()) {
//Do something here if it's correct
} else {
Console.WriteLine(errorsValidation.First().Description);
}
}
我不知道我做错了什么,出了什么问题。找不到如何修复文件的任何问题。有什么想法,建议吗?