C# 将数组插入Excel单元格

C# 将数组插入Excel单元格,c#,C#,我想在Excel的一列中插入一个字符数组。我通常使用这样的方法来添加一个普通字符串: lCommand.CommandText += "\"" + row["source"].ToString().Replace("\"", "\"\"").Replace(" ", " ") + "\","; 如何将字符串数组添加到Excel的列中?谢谢 参见本文: 我建议你阅读这篇(短)文章,但作为一个破坏者: Excel.Range r = this.Range["B2", "B4"]

我想在Excel的一列中插入一个字符数组。我通常使用这样的方法来添加一个普通字符串:

lCommand.CommandText += "\"" + row["source"].ToString().Replace("\"", "\"\"").Replace(" ", " ") + "\",";
如何将字符串数组添加到Excel的列中?谢谢

参见本文:

我建议你阅读这篇(短)文章,但作为一个破坏者:

Excel.Range r = this.Range["B2", "B4"];

object[,] workingValues = new object[3, 1];

for (int i = 0; i < 3; i++)
{
    workingValues[i, 0] = i + 2;  // 2,3,4
}

r.Value2 = workingValues;
Excel.Range r=this.Range[“B2”、“B4”];
对象[,]工作值=新对象[3,1];
对于(int i=0;i<3;i++)
{
工作值[i,0]=i+2;//2,3,4
}
r、 值2=工作值;

您可以用C#打开文件并写入所需的单元格

第一:

using Microsoft.Office.Interop.Excel;
这要求您具有Excel的COM引用

在此之后,您需要打开所需的文件并设置值。之后,您可以关闭该文件

这里有一个例子。始终可以为数组的每行或每列循环

    _Application docExcel = new Microsoft.Office.Interop.Excel.Application();
    docExcel.Visible = false;
    docExcel.DisplayAlerts = false;

    _Workbook workbooksExcel = docExcel.Workbooks.Open(@"C:\test.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    _Worksheet worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet;

    ((Range)worksheetExcel.Cells["1", "A"]).Value2 = "aa";
    ((Range)worksheetExcel.Cells["1", "B"]).Value2 = "bb";

    workbooksExcel.Save();
    workbooksExcel.Close(false, Type.Missing, Type.Missing);
    docExcel.Application.DisplayAlerts = true;
    docExcel.Application.Quit();
编辑:

如果不希望所有这些
类型,可以使用Dynamic关键字。缺少
参数:

    _Application docExcel = new Application{Visible = false};

    dynamic workbooksExcel = docExcel.Workbooks.Open(@"C:\test.xlsx");
    var worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet;

    ((Range)worksheetExcel.Cells["1", "A"]).Value2 = "test1";
    ((Range)worksheetExcel.Cells["1", "B"]).Value2 = "test2";

    workbooksExcel.Save();
    workbooksExcel.Close(false);
    docExcel.Application.Quit();