将数组插入Excel单元格
本文关键字:单元格 Excel 插入 数组 | 更新日期: 2023-09-27 18:23:45
我想在Excel的一列中插入一个字符数组。我通常使用这样的东西来添加一个正常的字符串:
lCommand.CommandText += "'"" + row["source"].ToString().Replace("'"", "'"'"").Replace(" ", " ") + "'",";
如何将字符串数组添加到Excel的列中?谢谢
请参阅本文:
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;
您可以用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();
编辑:
如果您不想要所有这些Type.Missing
参数,可以使用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();