2012-02-16 63 views
0

我們現在有一個過程,我們編寫一個管道分隔符(|)文件。該文件將包含不同的「LetterTemplateType」。每個LetterTemplateType將具有不同的字段和不同的字段數。文件格式和解析文件到.NET中的Excel

要創建該文件,我們把所有的記錄在一個類,然後調用基礎上,LetterTemplateType的方法:

private static void GenerateLetterTemplateTypeA(StringBuilder sb, 
               AALettersOutput output) 
{ 
    if (sb == null) sb = new StringBuilder(); 

    sb.AppendLine(); 
    AddToString(sb, output.LetterTemplateType, true); 
    AddToString(sb, output.RecordID, true); 
    AddToString(sb, output.DealID, true); 

等等

的文件製作成後,我們經常被要求「解析」文件並將其放入Excel中。我一直在手動做這個。有像Interop這樣的不同方式來做到這一點。

我真正的問題:我該如何去製作一個文件,然後解析一個文件並將字段放在一個地方?我不想在代碼中的2個不同的地方進行字段順序。

回答

0

你可以使用Excel Package Plus生產XSLX文件很簡單,這裏是示例代碼:

private void MakeExcelFile() 
{ 
    ExcelPackage ePack = new ExcelPackage(); 
    ExcelWorksheet ws = ePack.Workbook.Worksheets.Add("Worksheet1"); 

    /// add 5 rows 
    ws.InsertRow(1, 5); 
    /// excel cells and rows are 1 based index ! 
    for (int i = 1; i <= 5; i++) 
    { 
    ws.Cells[i, 1].Value = "Row " + i.ToString() + ", Col 1"; 
    ws.Cells[i, 2].Value = "Row " + i.ToString() + ", Col 2"; 
    ws.Cells[i, 3].Value = "Row " + i.ToString() + ", Col 3"; 
    } 

    ePack.SaveAs(new FileInfo("result.xlsx")); 
} 
+0

產生的Excel dodesn't有我關心的部分。我試圖生成一個文件,然後解析併爲每個LetterTemplateType的字段名稱分配一個點。我可能有一個想法... – 2012-02-16 15:35:22

+0

我實際需要的是一個字典,但查找的2個字段。所以Name1 + Name2 - > Value,LetterTemplateType + FieldName - > Position – 2012-02-16 16:05:46