将datagridview数据导出为Excel文件时,弹出2次保存路径对话框,最后保存了2个EXCEL版本的数据,
一个是03版Excel的,一个是07版Excel。
我想知保存03版Excel的数据,该怎么做呢?

解决方案 »

  1.   


    private void 导出ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                try
                {
                    //没有数据就停止导出dataGridView1
                    if (dataGridView1.Rows.Count == 0)
                    {
                        MessageBox.Show("无数据导出");
                        return;
                    }                SaveFileDialog saveFileDialog = new SaveFileDialog();
                    saveFileDialog.DefaultExt="xls";
                    saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
                    saveFileDialog.FilterIndex = 0;
                    saveFileDialog.RestoreDirectory = true;
                    saveFileDialog.ShowDialog();                if (saveFileDialog.FileName.IndexOf(":") < 0) return;                //实例化一个Excel.Application对象
                    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                    excel.Application.Workbooks.Add(true);                //生成Excel中列名
                    for (int i = 0; i < dataGridView1.Columns.Count; i++)
                    {
                        excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
                    }                //把DataGridView当前页的数据保持在Excel中
                    if (dataGridView1.Rows.Count > 0)
                    {
                        for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                        {
                            for (int j = 0; j < dataGridView1.Columns.Count; j++)
                            {
                                if (dataGridView1[j, i].Value == typeof(string))
                                {
                                    excel.Cells[i + 2, j + 1] = "" + dataGridView1[i, j].Value.ToString();
                                }
                                else
                                {
                                    excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
                                }
                            }
                        }
                        excel.Visible = false;
                        excel.Save(saveFileDialog.FileName);
                        excel.Quit();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误提示");
                }
                
            }
      

  2.   

    ActiveSheet;
    finally
        {
            if (excel!= null) excel.Quit();
            excel= null;
        }
    设置断点