public TableParserProvider(DocX targetDocument) { _targetDocument = targetDocument; GetAllRuleResultTables(); foreach (var table in targetDocument.Tables) { var topLeftCell = table.Rows[0].Cells[0]; if (topLeftCell.Paragraphs[0].Text == "檢測公司名稱") { _reportCoverTableParser = new ReportCoverTableParser(table); } else if (topLeftCell.Paragraphs[0].Text == "送測單位") { _testInfoTableParser = new TestInfoTableParser(table); } else if (topLeftCell.Paragraphs[0].Text == "#") { _overviewTableParser = new OverviewTableParser(table); } } }
static void Main(string[] args) { string fileName; if (args.Length < 1) { Console.Write("請選擇檔案:"); fileName = Console.ReadLine(); Console.WriteLine(); } else if (args.Length == 1) { fileName = args[0]; } else { Console.WriteLine("參數錯誤"); return; } InputDocx = DocX.Load(fileName); tableParsers = new TableParserProvider(InputDocx); ReportCoverTable = tableParsers.GetReportCoverTableParser(); TestInfoTable = tableParsers.GetTestInfoTableParser(); OverviewTable = tableParsers.GetOverviewTableParser(); Console.WriteLine("-------------"); Console.WriteLine("| |資訊表|摘要表|"); Console.WriteLine("-------------"); Console.WriteLine("|符合 | {0,2:##} | {1,2:##} |", TestInfoTable.AcceptCount, OverviewTable.AcceptCount); Console.WriteLine("-------------"); Console.WriteLine("|不符合| {0,2:##} | {1,2:##} |", TestInfoTable.FailCount, OverviewTable.FailCount); Console.WriteLine("-------------"); Console.WriteLine("|不適用| {0,2:##} | {1,2:##} |", TestInfoTable.NotfitCount, OverviewTable.NotfitCount); Console.WriteLine("-------------"); Console.WriteLine(); Console.WriteLine("掃描完成"); Console.ReadLine(); }