Quantcast
Viewing latest article 39
Browse Latest Browse All 44

Answer by Michael Paulukonis for OpenXML - Writing a date into Excel spreadsheet results in unreadable content

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.


Viewing latest article 39
Browse Latest Browse All 44

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>