求助  高手    C# Excel 的导入 和 导出  ~~~源码

解决方案 »

  1.   


    StringBuilder sb = new StringBuilder();
    sb.Append(@"<TABLE>");
    //添加表头
    foreach (System.Data.DataRow row in DataSet.Tables[0].Rows)
    {
        sb.Append(@"<TR>");
        foreach (System.Data.DataColumn column in DataSet.Tables[0].Columns)
        {
            sb.Append(@"<TD");
            sb.Append(row[column.ColumnName]);
            sb.Append(@"</TD");
        }
        sb.Append(@"</TR>");
    }
    sb.Append(@"<TABLE>");Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", "test"));
    Response.ContentType = "application/ms-excel";
    Response.ContentEncoding = System.Text.Encoding.UTF7;
    Response.Write(sb.ToString());
    Response.Flush();
    Response.End();
      

  2.   

    http://www.cnblogs.com/Jinglecat/archive/2006/08/15/477472.html
    http://support.microsoft.com/kb/306023/zh-cn
    http://support.microsoft.com/kb/306572/zh-cn
      

  3.   

    将datagridview导入到excelpublic class ExprotToExcel
        {
            public static bool ExportToExcel(string saveFileName, DataGridView ExportDataGridView)
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Excel 文件(*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.CreatePrompt = true;
                saveFileDialog.Title = "导出Excel文件到...";
                saveFileDialog.FileName = saveFileName;            if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    Stream myStream;
                    myStream = saveFileDialog.OpenFile();
                    //StreamWriter sw = new StreamWriter(myStream, Encoding.GetEncoding("gb2312"));
                    StreamWriter sw = new StreamWriter(myStream, Encoding.Default);
                    string str = "";
                    try
                    {
                        //写标题     
                        for (int i = 0; i < ExportDataGridView.ColumnCount; i++)
                        {
                            if (i > 0)
                            {
                                str += "\t";
                            }
                            str += ExportDataGridView.Columns[i].HeaderText;
                        }                    sw.WriteLine(str);
                        //写内容   
                        for (int j = 0; j < ExportDataGridView.Rows.Count; j++)
                        {
                            string tempStr = "";
                            for (int k = 0; k < ExportDataGridView.Columns.Count; k++)
                            {
                                if (k > 0)
                                {
                                    tempStr += "\t";
                                }
                                tempStr += ExportDataGridView.Rows[j].Cells[k].Value.ToString();
                            }
                            sw.WriteLine(tempStr);
                        }
                        sw.Close();
                        myStream.Close();
                        return true;
                    }
                    catch
                    {
                        return false;
                    }
                    finally
                    {
                        sw.Close();
                        myStream.Close();
                    }
                }
                else
                    return false;
            }
        }
      

  4.   

     4  楼 说的是  datagridview 的导出
       那么导入怎么做呢 ??
      

  5.   

            /// <summary>
            /// 返回Excel数据源
            /// </summary>
            /// <param name="filename">文件路径</param>
            /// <returns></returns>
        static public DataSet ExcelToDataSet(string filename)
        {
            DataSet ds;
            string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                            "Extended Properties=Excel 8.0;" +
                            "data source=" + filename;
            OleDbConnection myConn = new OleDbConnection(strCon);
            string strCom = " SELECT * FROM [Sheet1$]";
            myConn.Open();
            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
            ds = new DataSet();
            myCommand.Fill(ds);
            myConn.Close();
            return ds;
        }