Я создаю файл Excel .xlsx, используя OpenXml.Все работает нормально, за исключением случаев, когда я открываю файл, Excel говорит, что есть проблемы с файлом и предлагает восстановить его.(Все отображается так, как должно быть.) После некоторого исследования я наткнулся на некоторые посты о значениях свойств для конкретного языка.Например, OpenXML пишет «TRUE» и «FALSE», но моя немецкая версия Excel хочет «WAHR» и «FALSCH».И именно поэтому Excel нужно восстановить файл.В журнале восстановления Excel просто написано «Информация о восстановленных ячейках на рабочем листе»
Я изменил свой Excel и язык системы с немецкого на английский (США), и теперь все работает нормально, и файл открывается безисправить сообщение.
Есть ли способ обойти это, так как это не постоянное решение.
РЕДАКТИРОВАТЬ: Может быть, проблема также может быть где-то еще, но все, что я пытался, кажется, подтверждает это подозрение.Но это также должно происходить при открытии Excel-файла, созданного кем-то с английским языком, но этого, похоже, не происходит.
Это пример того, как я пишу в файл.
for (int i = 0; i < rowcount; i++)
{
row = new Row();
for (int j = 0; j < columncount; j++)
{
bool isNumeric = double.TryParse(result[i,j], out double n);
if (isNumeric)
{
row.Append(ConstructCell(result[i,j], CellValues.Number));
}
else
{
row.Append(ConstructCell(result[i, j], CellValues.String));
}
}
sheetData.AppendChild(row);
}
worksheetPart.Worksheet.Save();
}
}
private Cell ConstructCell (string value, CellValues dataType)
{
return new Cell()
{
CellValue = new CellValue(value),
DataType = new EnumValue<CellValues>(dataType)
};
}