Advertisement
Foxscotch

first part of doing the thing

Nov 17th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.75 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Collections.Generic;
  5.  
  6. using OfficeOpenXml;
  7. using CsvHelper;
  8. using CsvHelper.Configuration;
  9.  
  10.  
  11. namespace Test {
  12.   class Entry {
  13.     public int      TagNumber   { get; set; }
  14.     public DateTime RejectDate  { get; set; }
  15.     public string   Plant       { get; set; }
  16.     public string   Model       { get; set; }
  17.     public string   PartNumber  { get; set; }
  18.     public string   PartName    { get; set; }
  19.     public string   Defect      { get; set; }
  20.     public int      Qty         { get; set; }
  21.     public string   Shift       { get; set; }
  22.     public string   Station     { get; set; }
  23.     public string   Associate   { get; set; }
  24.     public string   Cause       { get; set; }
  25.     public string   Found       { get; set; }
  26.     public string   Responsible { get; set; }
  27.     public string   Disposition { get; set; }
  28.     public string   EnteredBy   { get; set; }
  29.     public string   Remark      { get; set; }
  30.  
  31.     public override string ToString() {
  32.       return string.Format("Entry({0}, {1}, {2})", TagNumber, RejectDate.ToString("MM/dd/yy"), Qty);
  33.     }
  34.   }
  35.  
  36.   class EntryMap : CsvClassMap<Entry> {
  37.     public EntryMap() {
  38.       Map(m => m.TagNumber).Index(0);
  39.       Map(m => m.RejectDate).Index(1);
  40.       Map(m => m.Plant).Index(2);
  41.       Map(m => m.Model).Index(3);
  42.       Map(m => m.PartNumber).Index(4);
  43.       Map(m => m.PartName).Index(5);
  44.       Map(m => m.Defect).Index(6);
  45.       Map(m => m.Qty).Index(7);
  46.       Map(m => m.Shift).Index(8);
  47.       Map(m => m.Station).Index(9);
  48.       Map(m => m.Associate).Index(10);
  49.       Map(m => m.Cause).Index(11);
  50.       Map(m => m.Found).Index(12);
  51.       Map(m => m.Responsible).Index(13);
  52.       Map(m => m.Disposition).Index(14);
  53.       Map(m => m.EnteredBy).Index(15);
  54.       Map(m => m.Remark).Index(16);
  55.     }
  56.   }
  57.  
  58.   class Program {
  59.     static List<Entry> GetRecords(string filename) {
  60.       StreamReader reader = new StreamReader(new FileStream(filename, FileMode.Open));
  61.       CsvReader csv = new CsvReader(reader);
  62.       csv.Configuration.RegisterClassMap<EntryMap>();
  63.       return csv.GetRecords<Entry>().ToList();
  64.     }
  65.  
  66.     static List<Entry> FilterList(List<Entry> list, Func<Entry, Boolean> func) {
  67.       return list.Where<Entry>(func).ToList();
  68.     }
  69.  
  70.     static void Main(string[] args) {
  71.       List<Entry> list = GetRecords("nc_list.csv");
  72.  
  73.       Console.WriteLine(list.Count());
  74.  
  75.       FileInfo newFile = new FileInfo("report.xlsx");
  76.       if (newFile.Exists) {
  77.         newFile.Delete();
  78.         newFile = new FileInfo("report.xlsx");
  79.       }
  80.  
  81.       ExcelPackage package = new ExcelPackage(newFile);
  82.       ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Analysis");
  83.  
  84.       package.Save();
  85.     }
  86.   }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement