DataGridView导出为EXCEL的问题
private void button6_Click(object sender, EventArgs e)//导出为EXCEL
{
Excel.ApplicationClass MyExcel = new Excel.ApplicationClass();
MyExcel.Visible = true;
if (MyExcel == null)
{
MessageBox.Show( "EXCEL无法启动! ", "错误 ", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
int rowcount = 0;
int columncount = 0;
MyExcel.Application.Workbooks.Add(true);
columncount = this.dataGridView1.ColumnCount;
rowcount = this.dataGridView1.RowCount;
for (int m = 1; m < columncount; m++)
{
MyExcel.Cells[1, m] = this.dataGridView1.Columns[m].HeaderText;//去除dataGridView1的编号列
}
for (int i = 0; i < rowcount; i++)
{
for (int j = 1; j < columncount; j++)
{
MyExcel.Cells[i + 2, j] = this.dataGridView1[j, i].Value.ToString();
}
}
}
每次我点击按钮,总会开启excel的新实例,怎么如何让它自动检测EXCEL是否已经启动,如果启动了,就不再开启EXCEL的新实例呢?
------解决方案--------------------
Excel.ApplicationClass MyExcel = new Excel.ApplicationClass();
就是建立了一个新的Excel实例。也应该是建立一个新的实例。
[解决办法]
可以用单件模式自己封装一个产生EXCEL文件的类
[解决办法]
思路应该是这样的...
开启新实例
关闭此实例