Try indicating it is a CellValues.String
type, instead of a CellValues.Date
type.
Use
DataType = new EnumValue<CellValues>(CellValues.String) // good
instead of
DataType = new EnumValue<CellValues>(CellValues.Date) // bad
Now, it would make sense to add it as date, without the ToString()
conversion, and use the CellValues.Date
DataType -- but CellValue() only takes a string as a parameter.
[Why, OpenXmlSDK, WHY??? You're a wrapper. Wrap things nicely. Make them invisible, and make my life easier. :::sigh:::]
Additionally, if the target cell expects to be formatting a date, we should be indicating it is a date.
But I've found that while CellValues.String
and CellValues.Date
both get formatted as expected (identically), only the CellValues.Date
throws up the "unreadable content" on-load.
I've had utterly no luck with any variation on dt.ToOADate().ToString(new CultureInfo("en-US"));
method -- I end up with a five-digit number that gets displayed in the spreadsheet as five-digit number, when it should be a formatted date.
I was receiving the same error message when adding a string value, but using the CellValues.Number
DataType.