如题,保存时总会弹出对话框询问是否要保存修改的文档。怎样不出现这个提示直接保存呢?
另外,如何放弃修改直接关闭excel文档?

解决方案 »

  1.   

    Excel._Workbook m_objBook; 
    ...................    
    m_objBook.Saved = true;
    m_objBook.SaveCopyAs(sFilePath);
    保存是自动覆盖Excel.Application m_objExcel;
    ..........................
    m_objExcel.Quit();
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
    不保存直接退出
      

  2.   

    C#这样操作Excel才是最实用的
    (注:office2003的Excel.dll要通过TlbImp.exe操作Excel.exe才能够得到,office2000中直接可以使用excel9.ole)        
    #region 保存到Excel按钮事件
            string filename = "";
            private void button6_Click(object sender, EventArgs e)
            {
              
                //将模板文件复制到一个新文件中
                SaveFileDialog mySave = new SaveFileDialog();
                mySave.Filter = "Excel文件(*.XLS)|*.xls|所有文件(*.*)|*.*";
                if (mySave.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                else
                {
                    filename = mySave.FileName;
                    //将模板文件copy到新位置,建议实际开发时用相对路径,如
                    //Application.StartupPath.Trim()+"\\report\\normal.xls"
                    //string filenameold = mySave.FileName;
                    FileInfo mode = new FileInfo("d:\\normal.xls");
                    try
                    {
                        mode.CopyTo(filename, true);
                    }
                    catch (Exception ee)
                    {
                        MessageBox.Show(ee.Message);
                        return;
                    }
                }
                Thread thread1 = new Thread(new ThreadStart(toExcel));
                thread1.Start();
            }
            #endregion
           
            #region 临时调试将数据导入到excel
            private void toExcel()
            {
                            
                //打开复制后的文件
                object missing = Missing.Value;
                Excel.Application myExcel = new Excel.Application();
                //打开新文件
                myExcel.Application.Workbooks.Open(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
              
                //将Excel显示出来
                myExcel.Visible = false;
                //逐行写入数据,数组中第一行我列标题,忽略
                int rowIndex = 1;
                int row_cnt = this.drugListDataGridView.Rows.Count;
                int col_cnt = this.drugListDataGridView.Columns.Count;            // ?用于用DataGridTableStyle自定?DataGrid?。 
                for (int j = 0; j < col_cnt; j++)
                {
                    myExcel.Cells[rowIndex, j + 1] = drugListDataGridView.Columns[j].HeaderText.ToString();
                }
                //同?方法?理数据 
                //for (int i = 0; i < col_cnt; i++)//取字段名
                //{
                //    excel.Cells[1, i + 1] = this.xT_XY_DrugLibrary.Columns[i].ColumnName.ToString();
                //}
                rowIndex++;
                //这里要注意,由于DataGrid中总是要多显示一行,而最后一行中没有数据,所以在读取的时候不要读最后一行
                for (int row = 0; row < row_cnt - 1; row++)
                {
                    for (int col = 0; col < col_cnt; col++)
                    {
                        try
                        {
                            myExcel.Cells[rowIndex, col + 1] = drugListDataGridView.Rows[row].Cells[col].Value.ToString();
                        }
                        catch
                        {
                            MessageBox.Show("数据导出出现异常!请重试");
                            return;
                        }
                    }
                    rowIndex++;
                }
                //将列标题和实际内容选中
                Excel.Workbook myBook = myExcel.Workbooks[1];
                Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets[1];
                Excel.Range r = mySheet.get_Range(mySheet.Cells[3, 1], mySheet.Cells[14, 7]);
                r.Select();
                //=====通过执行宏来为格表格加边框=======//
                try
                {
                    myExcel.Run("宏1", missing, missing,
     
                        missing, missing, missing, missing, missing, missing, missing,
     
                        missing, missing, missing, missing, missing, missing, missing,
     
                        missing, missing, missing, missing, missing, missing, missing,
     
                        missing, missing, missing, missing, missing, missing, missing);
                }
                catch
                {
                }
                //保存修改
                myBook.Save();
                myExcel.Quit();           
                MessageBox.Show("保存成功!");        }
            #endregion
      

  3.   

    加上这个就可以了
    app.DisplayAlerts = false;想了解其它高级一些的信息,请查看
    http://www.cnblogs.com/linfuguo/articles/462699.html

    http://www.cnblogs.com/linfuguo/archive/2006/08/19/480976.html