CsvService.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. namespace Agent.Services
  8. {
  9. class CsvService
  10. {
  11. public List<String> Header = new List<String>();
  12. public List<List<object>> Column = new List<List<object>>();
  13. public void SetHeader(List<string> headers)
  14. {
  15. for (var i = 0; i < headers.Count; i++)
  16. {
  17. Header.Add(headers[i]);
  18. }
  19. }
  20. public void SetColumn(List<object> columns)
  21. {
  22. Column.Add(columns);
  23. }
  24. public void CreateCsv(string fileName)
  25. {
  26. using (StreamWriter file = new StreamWriter(fileName, false, Encoding.GetEncoding("utf-8")))
  27. {
  28. for (int i = 0; i < Header.Count; i++)
  29. {
  30. if (i == (Header.Count-1))
  31. {
  32. file.Write(Header[i]);
  33. continue;
  34. }
  35. file.Write(Header[i]+", ");
  36. }
  37. file.WriteLine();
  38. for (int i = 0; i < Column.Count; i++)
  39. {
  40. List<object> obj = Column[i] as List<object>;
  41. string val = "";
  42. for (int j = 0; j < obj.Count; j++)
  43. {
  44. if (j == (obj.Count - 1))
  45. {
  46. val += obj[j];
  47. continue;
  48. }
  49. val += obj[j]+",";
  50. }
  51. file.WriteLine(val);
  52. }
  53. Header.Clear();
  54. Column.Clear();
  55. }
  56. }
  57. }
  58. }