For the last 6 months I've been working on an open source project to make Excel files and now it's at a point where I can start "promoting" it. I called it ClosedXML and it's hosted on Microsoft CodePlex.
The reason for the name is simple, after seeing how horrible it is to deal with Open XML files my first thought was "If this what it's like to work with Open XML I'd rather work with something that was closed!".
The component is coded in C# but can be used by any .Net language like Visual Basic (VB). It has many features geared toward handling data, for example you can set the value of a cell to an IEnumerable of any kind and ClosedXML will create a table from that object (it works with DataTables too).
For a full list of features as well as a plethora of examples please go to ClosedXML - The easy way to OpenXML.
e2e51c38-821a-4564-bcdf-7ac5cf6a3da6|0|.0
In part 1 we looked at how we can implement tracing and debugging to know what our program is doing and any error it may encounter. In this post we'll take a look at more ways to use the Trace and Debug classes, the listener's output, and implementing an easy way to get plenty of information in our trace files with minimal code.
In these examples we're going to use a lot of boilerplate code. This is only necessary for us to show what kind of information we want our trace files to have. In a later post we'll learn how to remove almost all this boilerplate code and still have all the tracing functionality we need.
The main purpose of this post is to give you ideas on how you can implement tracing in your own applications.
More...
de37c651-2176-4a9d-bf5a-d06d50d2c6dc|1|5.0
This is the first in a series of posts to shed some light into tracing and debugging techniques. We'll start with the basics, configurations (via code and settings file), and then move on to more advanced topics like implementing your own customized trace listener and using aspect oriented programming to trace/debug an entire class/assembly by adding an attribute to it.
In this post we'll take a look at simple debugging and tracing techniques in the .NET Framework. More...
84269aeb-5e00-43d6-b83e-e636d5a1298b|1|5.0