Validation OpenXMLSDK2.5中出现奇怪异常
我在Office 2010中创建了一个简单的文件*.xlsx,其中包含3个电子表格。只使用第一个,并且有简单的公式,如单元格中的求和和和乘法。它还包含17列和4k行。单元格的数据类型有:数字、短日期、长日期和文本。当我试图使用OpenXml SDK 2.5读取该文件并对其进行验证以确保该文件正确时,我收到了一个奇怪的异常: ErrorType:Schema 错误描述:属性“verticalDpi”的值“0”无效。MinInclusive约束失败。该值必须大于或等于1 这就是我阅读和验证的方法: VB.NET: C#:Validation OpenXMLSDK2.5中出现奇怪异常,validation,ms-office,excel-2010,openxml-sdk,Validation,Ms Office,Excel 2010,Openxml Sdk,我在Office 2010中创建了一个简单的文件*.xlsx,其中包含3个电子表格。只使用第一个,并且有简单的公式,如单元格中的求和和和乘法。它还包含17列和4k行。单元格的数据类型有:数字、短日期、长日期和文本。当我试图使用OpenXml SDK 2.5读取该文件并对其进行验证以确保该文件正确时,我收到了一个奇怪的异常: ErrorType:Schema 错误描述:属性“verticalDpi”的值“0”无效。MinInclusive约束失败。该值必须大于或等于1 这就是我阅读和验证的方法:
使用(SpreadsheetDocument电子表格=SpreadsheetDocument.Open(m_文件名,false)){
OpenXmlValidator validator=新的OpenXmlValidator();
IEnumerable errorsValidation=validator.Validate(电子表格);
如果(!errorsValidation.Any()){
//如果正确的话,在这里做点什么
}否则{
Console.WriteLine(errorsValidation.First().Description);
}
}
我不知道我做错了什么,什么是错的。找不到有关如何修复该文件的任何问题。有什么想法和建议吗?我在上面强调了同样的错误。简单地复制整个电子表格并粘贴(作为值)到新的电子表格就解决了这个问题。但是,我不知道错误的根本原因。
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
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);
}
}