在Excel文件中打印字典c#

时间:2017-06-19 12:31:41

标签: c# excel dictionary

我有一个名为“DictionnaireFinal”的词典,其中包含键的词和值的定义,我想将它导出到Excel文件中,所以我尝试了这个:

 Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
        Workbook wb = oXL.Workbooks.Add(XlSheetType.xlWorksheet);
        Worksheet ws = (Worksheet)oXL.ActiveSheet;


        oXL.Visible = true;

        ws.Cells[1, 1] = "Mot";
        ws.Cells[1, 2] = "Definition";

        for(int i=2; i<= DictionnaireFinal.Count; i++)
        {
            foreach(var b in DictionnaireFinal)
            {
                ws.Cells[i, 1] = b.Key;
            }
        }
        for (int j=2; j<= DictionnaireFinal.Count; j++)
        {
            foreach (var b in DictionnaireFinal)
            {
                ws.Cells[j, 2] = b.Value;
            }
        }

当我执行代码时,excel文件只返回“mot”和“definition”,但没有从字典中返回。 有谁可以帮助我吗。 谢谢

2 个答案:

答案 0 :(得分:1)

享受:

using Microsoft.Office.Interop.Excel;
using System.Collections.Generic;

class Startup
{
    static void Main()
    {
        Application oXL = new Application();
        Workbook wb = oXL.Workbooks.Add(XlSheetType.xlWorksheet);
        Worksheet ws = (Worksheet)oXL.ActiveSheet;

        Dictionary<int, string> DictionnaireFinal = new Dictionary<int, string>();
        DictionnaireFinal.Add(1, "vit");
        DictionnaireFinal.Add(2, "vito");
        DictionnaireFinal.Add(3, "vitya");

        oXL.Visible = true;

        ws.Cells[1, 1] = "Mot";
        ws.Cells[1, 2] = "Definition";

        int i = 1;

        foreach (var b in DictionnaireFinal)
        {
            i++;
            ws.Cells[i, 1] = b.Key;
            ws.Cells[i, 2] = b.Value;
        }
    }
}

这就是你得到的:

enter image description here

答案 1 :(得分:0)

你有多个不必要的循环,避免以下代码行应该正常工作。

json