Response.ContentType = "application/vnd.ms-excel";
<?xml version="1.0" encoding="utf-8">
<ss:Workbook xmlns:....
<ss:worksheet........
<ss:table>
<ss:row>
<ss:cell>
<ss:data ss:type="string">123
</ss:cell>
...生成xls文件  03打开没问题  07打开的时候老提示
is different format than sepcified by the file extension

解决方案 »

  1.   

    這個論壇快完蛋了,,很慢http://www.spreadsheetgear.com/
      

  2.   

    這個論壇快完蛋了,,很慢http://www.spreadsheetgear.com/
      

  3.   


    http://blog.csdn.net/caomei_jenny/article/details/3941480
      

  4.   

    用这个
    读取并显示Excel文件中的内容(OleDb方式)  
    创建Excel文件。
    在Excel文件中选择你要在页面中显示的内容,选择菜单“插入”-》“名称”-》“定义”,输入你对当前选择区域的命名。在这里,我命名为myRange1,这在后面将要用到(只有选择的内容才会被显示),保存到Web服务器的根目录中.编码。
    新建一个ASP.NET应用程序,在默认的WebForm1.aspx中,拖放一个DataGrid控件,它将用来显示Excel中的内容。打开后台编码文件,引用名称空间System.Data.OleDb,因为后面的代码中将用到此名称空间。在Page_Load()事件中插入以下代码:代码// 创建字符串变量。"Data Source"为.xls文件所在的位置
                string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;"+
                    "Data Source="+Server.MapPath("../ExcelData.xls")+";"+
                    "Extended Properties=Excel 8.0;";            // 创建连接对象
                OleDbConnection objConnection = new OleDbConnection(strConnection);            // 创建OleDbCommand对象。myRange1是Excel文件中定义的显示区域名
                OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM myRange1",objConnection);
                //    OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [sheet1$]", objConn);   //访问指定表名中的内容,不必指定显示区域,表名默认为sheet1,sheet2...
            // 以下Rows属性,可获得Excel 文件中的所有表,[0][2]为第一张表的表名
    /*
                DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); 
                string tableName = schemaTable.Rows[0][2].ToString().Trim();
    */
              OleDbDataAdapter objAdapter = new OleDbDataAdapter();
              DataSet dsExcel = new DataSet();            // 打开数据库连接
                objConnection.Open();            objAdapter.SelectCommand = objCmdSelect;
                objAdapter.Fill(dsExcel);            // 把数据绑定到DataGrid控件上
                DataGrid1.DataSource = dsExcel.Tables[0].DefaultView;
                DataGrid1.DataBind();            // 关闭数据库连接
                objConnection.Close();