This project has moved and is read-only. For the latest updates, please go here.

Key Components to DoddleReport

A Report relies on 2 distinct (and entirely extensible) mechanisms:

  • IReportSource - The Report must be supplied a collection of columns/rows using an IReportSource
  • IReportWriter - The Report needs to be written to a Stream using an IReportWriter

Report Sources

DoddleReport ships with all the Report Sources you should need, but even if it doesn't, you can write your own very easily by implementing a simple interface.

  • EnumerableReportSource - provides reporting for a variety of IEnumerable data types (including any .NET collection, LINQ queries, etc)
  • DataTableReportSource - provides reporting for any DataTable
  • SPListReportSource - provides reporting for any SharePoint List

Report Writers

The DoddleReport assembly ships with 3 types of Report Writers. The Extended report writers are included in stand-alone assemblies because they require additional libraries to function. You can write of course your own ReportWriters very easily by implementing a simple interface - and we would love if you could contribute them back to the project if so!

Default Report Writers

  • HtmlReportWriter - writes a basic HTML report
  • ExcelReportWriter - writes an Excel report using HTML internally. This will raise a confirmation prompt when the file is opened, telling the user that this is not a native Excel file. Use the OpenXML ExcelReportWriter described below if you want to avoid this.
  • DelimitedTextReportWriter – writes a delimited text file, the delimiter can be customized (the default is tab-delimited)

Extended Report Writers (provided via stand-alone assemblies)


  • DoddleReport.AbcPdf.PdfReportWriter - writes a PDF report using ABCpdf (NOTE: the implementation I have written relies on ABCPdf, you will need to license AbcPdf or write another PDF writer if this won’t work. Alternatively they do provide a 30 day trial)
  • DoddleReport.iTextSharp.PdfReportWriter - writes a PDF report using iTextSharp. iTextSharp is an open source product at source forge, please check licensing to make sure it compllies with your project.

OpenXML / Excel

  • DoddleReport.OpenXml.ExcelReportWriter - this ExcelReportWriter uses OpenXML instead of the default ExcelReportWriter which uses HTML. This writer is also more robust than the default, but requires 2 additional assemblies to function (which will be included automatically if you use the NuGet install mechanism)


Last edited Jan 22, 2012 at 8:10 PM by mhidinger, version 8


farrukhsubhani Dec 23, 2011 at 3:24 PM 
Can you give some formatting example for DoddleReport.iTextSharp or one with full formatting options. For example having css applied to HTML while putting footers and headers on top and bottom of page in PDF without affecting excel and Tab Delimeted Outputs.