在VSTO(Visual Studio Tools for Office)中,如果你想快速写入多个单元格的数据,可以使用Range
对象的Value
属性。以下是一个示例:
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application excelApp = new Excel.Application();
Excel.Workbook workbook = excelApp.Workbooks.Add();
Excel.Worksheet worksheet = workbook.ActiveSheet;
// 创建一个二维数组,表示要写入的数据
string[,] data = new string[3, 3]
{
{ "A1", "B1", "C1" },
{ "A2", "B2", "C2" },
{ "A3", "B3", "C3" }
};
// 获取要写入数据的范围
int rowCount = data.GetLength(0);
int columnCount = data.GetLength(1);
Excel.Range range = worksheet.Range[worksheet.Cells[1, 1], worksheet.Cells[rowCount, columnCount]];
// 将数据写入范围
range.Value = data;
// 保存并关闭工作簿
workbook.SaveAs("C:\\Path\\To\\Workbook.xlsx");
workbook.Close();
// 退出 Excel 应用程序
excelApp.Quit();
在上面的示例中,我们首先创建了一个二维数组data
,表示要写入的数据。然后,我们获取要写入数据的范围,这里使用了Range
对象和Cells
属性。最后,我们通过将数组赋值给范围的Value
属性,将数据快速写入多个单元格。
请注意,在使用Range
对象时,可以通过指定范围的起始单元格和结束单元格来定义范围。在示例中,我们使用Cells
属性获取起始单元格和结束单元格的Range
对象,并将它们传递给Range
对象的索引器。
完成数据写入后,你可以保存工作簿并关闭 Excel 应用程序。
记得在项目中引用Microsoft.Office.Interop.Excel
程序集,并在代码文件的开头使用using Excel = Microsoft.Office.Interop.Excel;
进行命名空间的引用。