代码如下,导出成功,不过要手动创建Excel表,谁帮我改改,令自动创建Excel表在 "D:\违法信息\违法数据"下?
那位高手帮忙解决下,在线等,解决了马上给分
private void DataGridViewToExcel(DataGridView dgv)
        {
            SaveFileDialog dlg = new SaveFileDialog();
            dlg.Filter = "Execl files (*.xls)|*.xls";
            dlg.CheckFileExists = false;
            dlg.CheckPathExists = false;
            dlg.FilterIndex = 0;
            dlg.RestoreDirectory = true;
            dlg.CreatePrompt = true;
            dlg.Title = "保存为Excel文件";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                Stream myStream;
                myStream = dlg.OpenFile();
                StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
                string columnTitle = "";
                try
                {
                    //写入列标题   
                    for (int i = 0; i < dgv.ColumnCount; i++)
                    {
                        if (i > 0)
                        {
                            columnTitle += "\t";
                        }
                        columnTitle += dgv.Columns[i].HeaderText;
                    }
                    sw.WriteLine(columnTitle);                    //写入列内容   
                    for (int j = 0; j < dgv.Rows.Count; j++)
                    {
                        string columnValue = "";
                        for (int k = 0; k < dgv.Columns.Count; k++)
                        {
                            if (k > 0)
                            {
                                columnValue += "\t";
                            }
                            if (dgv.Rows[j].Cells[k].Value == null)
                                columnValue += "";
                            else
                                columnValue += dgv.Rows[j].Cells[k].Value.ToString().Trim();
                        }
                        sw.WriteLine(columnValue);
                    }
                    sw.Close();
                    myStream.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString());
                }
                finally
                {
                    sw.Close();
                    myStream.Close();
                }
            }
        }

解决方案 »

  1.   

    导出excel
      

  2.   

    你那个导出方法和我用的导出方法差不多,提供代码给你看看吧    /// <summary>
        /// 导出数据
        /// </summary>
        public static void Export(GridView gv, string filename)
        {
            XlsDocument doc = new XlsDocument();
            doc.FileName = filename;
            Worksheet sheet = doc.Workbook.Worksheets.Add("Sheet1");
            Cells cells = sheet.Cells;
            ColumnInfo cinfo = new ColumnInfo(doc, sheet);
            cinfo.Collapsed = true;
            //设置列的范围 如 0列-10列
            cinfo.ColumnIndexStart = 0;//列开始
            cinfo.ColumnIndexEnd = 10;//列结束
            cinfo.Collapsed = true;
            cinfo.Width = 19 * 387;//列宽度
            sheet.AddColumnInfo(cinfo);           //填充标题行
            Cell cell;
            for (int i = 0; i < gv.HeaderRow.Cells.Count; i++)
            {
                cell = sheet.Cells.Add(1, 1 + i, gv.HeaderRow.Cells[i].Text);
            }        //填充内容
            Cell cll;
            for (int i = 0; i < gv.Rows.Count; i++)
            {
                for (int j = 0; j < gv.Columns.Count; j++)
                {
                    if (gv.Rows[i].Cells[j].Text.ToString().IndexOf("&#215;") >= 0)
                    {
                        cll = sheet.Cells.Add(i + 2, j + 1, gv.Rows[i].Cells[j].Text.ToString().Replace("&#215;", "x"));
                    }
                    else
                    {
                        cll = sheet.Cells.Add(i + 2, j + 1, gv.Rows[i].Cells[j].Text.ToString());
                    }
                    cll.Font.FontFamily = FontFamilies.Roman;
                    //cll= sheet.Cells.Add(i + 2, j + 1, this.grdShop.Rows[i].Cells[j].ToString());
                }
            }        doc.Send();
        }
      

  3.   

    你这也要用户手动创建Excel表啊,我就是想在程序里面设置当用户点击导出时,就直接将Excel表导出到指定位置
      

  4.   

    DataGridView数据自动导出到Excel表里
      

  5.   


    导出路径应该是可让别人选择的,他想倒入哪里就导入哪里,我那个方法,string参数 就是导出excel的名称,可随便定义的
      

  6.   

    StreamWriter sw = new StreamWriter(@"D:\违法信息\违法数据\xx.xls", System.Text.Encoding.GetEncoding(-0));