有人能说出如何将所选单元格从datagridview导出到excel吗?选择应通过单元格单击事件,并在单击按钮时将其导出到Excel文件。任何人都可以帮助我..
答案 0 :(得分: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);
答案 1 :(得分:0)
您还应该查看EPPlus 它是一个开源的.net库,可以使用Open Office Xml格式读写Excel 2007/2010文件。但是,您无法读取/写入.xls文件。 我仍然比Microsoft.Office.Interop.Excel。
更喜欢它