将两种types的resx文件中的键和值导出到Excel c#.net中

我是C#.net的新手,并且已经创build了一个读取特定resx文件中的键和值的程序。 然后我做了一组不同的相应的resx文件,以便我可以比较匹配键与它们的值(可能是不同的或相同的)。 我已经设法将它们写入Visual Studio中的控制台,但想要将键和值导出到Excel工作表进行比较我知道我需要使用Microsoft.Office.Interop.Excel命名空间,但我不知道如何将其纳入我的视觉工作室的程序,因为我是一个新手。 看下面的代码…

translations.Add(new TranslationEntry { key = d.Key.ToString(), english = d.Value.ToString(), welsh = match.Value.ToString() }); if (d.Value.ToString() != match.Value.ToString()) { Console.WriteLine(d.Key.ToString() + " - " + d.Value.ToString() + " - " + match.Value.ToString()); } else { Console.WriteLine(d.Key.ToString() + " - " + d.Value.ToString() + " - " + match.Value.ToString() + "Translation needed"); } } } rsxr_en.Close(); 

而如果你想在Excel中使用这个简单的例子:

 using Excel = Microsoft.Office.Interop.Excel; ... void Foo() { Excel.Application ex = new Excel.Application(); //first of all - run it ex.Visible = true; //then - show it var workbook = ex.Workbooks.Add(); var sheet = workbook.ActiveSheet; //in order to work with active sheet sheet.Cells[1, 1] = "some value"; //you can access cells with row index and column index } 

所以,如果你想循环遍历你的数据 – 你可以使用索引插入到Excel中。 例如:

 sheet.Cells[i, 1] = d.Key.ToString(); sheet.Cells[i, 2] = d.Value.ToString(); sheet.Cells[i, 3] = match.Value.ToString(); if (d.Value.ToString() == match.Value.ToString()) { sheet.Cells[i, 4] = "Translation needed"; } 

我通常将值写入一个.CSV(逗号分隔值)文件。 这是很容易实现,并在Excel中打开很好。 只需用引号括起来,用逗号分隔就可以将这些string写入以.csv扩展名命名的文本文件中。 在excel中每行的文本文件中有一行。 有时我用tab char(9)字符而不是逗号分隔值。

否则,如果你想创build适当的Excel文件,你可以看看这个高品质的免费库来编写/读取Excel文档: http : //epplus.codeplex.com/我们正在使用它在我们的应用程序。

希望这可以帮助!