0

谁能告诉如何将选定的单元格从 datagridview 导出到 excel ?选择应通过单元格单击事件,并在单击按钮时将其导出到 excel 文件。谁能帮我吗..

4

2 回答 2

2

这应该有效:

using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

var rows = dataGridView1.Rows.Count;
var columns = dataGridView1.Columns.Count;

var dataAsObjectArray = new object[rows,columns];

for (int i = 0; i < rows; i++)
{
    for (int j = 0; j < columns; j++)
    {
        dataAsObjectArray[i, j] = dataGridView1.Rows[i].Cells[j];
    }
}

Excel.Application application = new Excel.Application();
Excel.Workbook workbook = application.Workbooks.Add();
Excel.Worksheet worksheet = workbook.Sheets[1];

Excel.Range range  = worksheet.Range[rows, columns];
range.Value = dataAsObjectArray;

workbook.SaveAs(@"C:\whatever.xlsx");
workbook.Close();

Marshal.ReleaseComObject(application);
于 2012-09-27T08:36:58.287 回答
0

您还应该查看EPPlus ,它是一个开源 .net 库,可以使用 Open Office Xml 格式读取和写入 Excel 2007/2010 文件。但是,您不能读/写 .xls 文件。我仍然更喜欢它而不是 Microsoft.Office.Interop.Excel。

于 2012-09-27T08:46:49.350 回答