/Excel/ExcelReaderFactory.cs

# · C# · 79 lines · 40 code · 11 blank · 28 comment · 0 complexity · 86efef24927684bce95279ac951878fe MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.IO;
  5. namespace Excel
  6. {
  7. /// <summary>
  8. /// The ExcelReader Factory
  9. /// </summary>
  10. public static class ExcelReaderFactory
  11. {
  12. /// <summary>
  13. /// Creates an instance of <see cref="ExcelBinaryReader"/>
  14. /// </summary>
  15. /// <param name="fileStream">The file stream.</param>
  16. /// <returns></returns>
  17. public static IExcelDataReader CreateBinaryReader(Stream fileStream)
  18. {
  19. IExcelDataReader reader = new ExcelBinaryReader();
  20. reader.Initialize(fileStream);
  21. return reader;
  22. }
  23. /// <summary>
  24. /// Creates an instance of <see cref="ExcelBinaryReader"/>
  25. /// </summary>
  26. /// <param name="fileStream">The file stream.</param>
  27. /// <returns></returns>
  28. public static IExcelDataReader CreateBinaryReader(Stream fileStream, ReadOption option)
  29. {
  30. IExcelDataReader reader = new ExcelBinaryReader(option);
  31. reader.Initialize(fileStream);
  32. return reader;
  33. }
  34. /// <summary>
  35. /// Creates an instance of <see cref="ExcelBinaryReader"/>
  36. /// </summary>
  37. /// <param name="fileStream">The file stream.</param>
  38. /// <returns></returns>
  39. public static IExcelDataReader CreateBinaryReader(Stream fileStream, bool convertOADate)
  40. {
  41. IExcelDataReader reader = CreateBinaryReader(fileStream);
  42. ((ExcelBinaryReader) reader).ConvertOaDate = convertOADate;
  43. return reader;
  44. }
  45. /// <summary>
  46. /// Creates an instance of <see cref="ExcelBinaryReader"/>
  47. /// </summary>
  48. /// <param name="fileStream">The file stream.</param>
  49. /// <returns></returns>
  50. public static IExcelDataReader CreateBinaryReader(Stream fileStream, bool convertOADate, ReadOption readOption)
  51. {
  52. IExcelDataReader reader = CreateBinaryReader(fileStream, readOption);
  53. ((ExcelBinaryReader)reader).ConvertOaDate = convertOADate;
  54. return reader;
  55. }
  56. /// <summary>
  57. /// Creates an instance of <see cref="ExcelOpenXmlReader"/>
  58. /// </summary>
  59. /// <param name="fileStream">The file stream.</param>
  60. /// <returns></returns>
  61. public static IExcelDataReader CreateOpenXmlReader(Stream fileStream)
  62. {
  63. IExcelDataReader reader = new ExcelOpenXmlReader();
  64. reader.Initialize(fileStream);
  65. return reader;
  66. }
  67. }
  68. }