将两种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/我们正在使用它在我们的应用程序。
希望这可以帮助!