I won’t bore you with all the details since they’re in the code snippet below.The code is a pretty straight forward iterative conversion algorithm.In addition to passing in an optional mapping dictionary, I also check for any Display Attributes on each member.If there is a Display Name provided, that is used to match against the column names.Your Report Caster schedule file, Botsched.foc, keeps the next runtime for every job you have scheduled. The problem is how to read the and translate that A32 crazy field into human time.With it you can produce a printable, ordered list every morning, post it to an file on your Web site, and your network engineers can know which jobs run when and how long they’re going to take. My first step was a search of the Information Builders Knowledge Base at com (password required). "It’s the number of milliseconds since January 1, 1970." Yikes! I don’t know about you, but that’s far too precise for my Caster needs! Amused, but undaunted, we had our first clue, and resolved to answer this question.A typical scenario for me is wanting to parse an uploaded Excel worksheet and directly insert the data into a database.In this scenario, it really comes down to using my ORM of preference (usually EF) and wanting to be able to pass that Excel data as a list of my domain objects.
These two techniques go hand-in-hand to allow a user to get data into a system using a familiar tool like Excel.(You can find that by going to Excel, typing 1/1/70, formatting at a number, and subtracting one.Microsoft and IBM have smartdate basedates that are different by one, but you’ve no doubt tripped over that already.) This results in a D10.4 field I can edit like crazy and produces date, time, and day name in whatever form I might want.To facilitate easily being able to parse the worksheet, I created an extension method for the worksheet class of “To List.” The actual parsing is relatively straight forward.We assume the first row has header column names, and then every other row will be parsed to our object (of type T) with each column corresponding to a specific member of our object.