2

我是 C#.net 的新手,并且创建了一个程序来读取特定 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();
4

2 回答 2

1

如果你想使用 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"; 
}
于 2013-05-07T09:11:36.840 回答
0

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

否则,如果您希望创建正确的 excel 文件,您可以查看这个高质量的免费库来编写/读取 excel 文档:http ://epplus.codeplex.com/ 我们在我们的应用程序中使用它。

希望这可以帮助!

于 2013-05-07T08:53:07.380 回答