格式是否传说中的 csv ?

解决方案 »

  1.   

    1.由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后databind()一下,确保搂到所有数据;  
    2.不用单独设置导出的路径,导出时会弹出对话框让你确认保存位置;  
    3.要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET  服务器控件呈现HtmlForm 控件; 
    4.导出后别忘记再重新设置其allowpaging属性; 
        当我把这些都设置好以后,点击[导出],出现了 只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be  called during Render(); )的错误,又检查代码,没发现问题啊,搞了一会弄不出来,然后搜索了一下,发现了解决办法:  
    修改你的aspx文件中的: <%@ Page  Language="C#" EnableEventValidation = "false" AutoEventWireup="true"  CodeFile="SysUser.aspx.cs" Inherits="Autho_SysUser2" %>  
    增加红色的部分就ok了。
      

  2.   

    你用oledb连接excel,这样excel就相当于一个数据库了
    可以读出来一个dataset或者其他形式的数据(看你怎么定义了)
    然后把dataset的数据对应到你的oracle库表的字段上存进去(oracle的好处理多了吧)
      

  3.   

    OleDbConnection objConn = null;
    DataSet data = new DataSet();
    try
    {
    string strConn = @"Provider=Microsoft.ACE.OleDb.12.0;Data Source=c:"待发工资.xlsx;Extended Properties='Excel 12.0;HDR=YES'";//IMEX=1为只读
    //"Provider=Microsoft.Jet.OleDb.4.0;data source=c:"待发工资.xlsx;Extended Properties=""Excel 12.0;HDR=YES;IMEX=1""";
                    objConn = new OleDbConnection(strConn);
    objConn.Open();
    //System .Data . DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
    //int SheetIndex = 0;
    //string tableName = schemaTable.Rows[SheetIndex][2].ToString().Trim();string strSql = "Select   *   From   [Sheet1$]";
    OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
    OleDbDataAdapter sqlada = new OleDbDataAdapter();
    sqlada.SelectCommand = objCmd;
    sqlada.Fill(data);
    string str = "";
    for (int i = 0; i < data.Tables[0].Rows[0].ItemArray.Length; i++)
    {
    str += data.Tables[0].Rows[0].ItemArray[i].ToString() + ".";
    }
    MessageBox.Show(str);
    objConn.Close();
    }
    catch (Exception ex)
    {
    objConn.Close();
    Console.WriteLine(ex.Message.ToString());
    }
      

  4.   

    大家可能誤會了,,不是用C#去連excel,,是用C#調用openoffice去讀excel裡的內容然後存到oracle裡,,,目前存進去是問號,,呵呵