以前导出2003利用的是网上流行的获取前台htm代码导出保存为xls的方式
但是导出文件在excel2007里面打不开 
根据这几天查的资料 有的说是把后缀改为csv 保存成功 也能打开 也没乱码  但是全部是htm代码

解决方案 »

  1.   

    或者谁能说下转换xml格式导出excel 我对xml不熟悉
      

  2.   

    没有特殊格式要求的话你可以用oledb的方式保存为excel2007格式文件。
      

  3.   

    就是创建一个空的excel2007文件,逐行写入数据。
      

  4.   

    导出07跟03一样,只有在导入的时候有区别,需要用不同的COM组件
      

  5.   

    如果数据量大的话会不会很慢
    这个不怎么可取吧
    能不能用xml的形式来导入呢 
    刚才我试了下  xml标签为中文的话要出错误的
      

  6.   

    获取前台htm代码导出保存为xls的方式,在excel2003中很好用啊 ,楼主说打不开,有乱码,能详细点吗,导出的时候也有格式和编码设置的,有的数据需要转换为excel数据类型,否则会有乱码的
      

  7.   

    <html>
    <head>
    <title>JS实现导出数据到Excel</title>
    <script language="javascript" type="text/javascript">
    function ExportExcel()
    {
    var oXL = new ActiveXObject("Excel.Application");
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;
    var oTable = document.getElementById("dataTable");
    for(var i=0; i<oTable.rows.length; i++)
    {
        for(var j=0; j<oTable.rows[i].cells.length; j++)
        {
            oSheet.Cells(i+1,j+1).Value = oTable.rows[i].cells[j].innerText;
        }
    }
    oXL.Visible = true;
    oXL.UserControl = true;
    }
    function ExportExcelWithFormat()
    {
    var oXL = new ActiveXObject("Excel.Application");
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;
    var oTable = document.getElementById("dataTable");
    var sel=document.body.createTextRange();
    sel.moveToElementText(oTable);
    sel.select();
    sel.execCommand("Copy");
    oSheet.Paste();
    oXL.Visible = true;
    oXL.UserControl = true;
    }
    </script>
    </head>
    <body>
    <table id="dataTable" width="500" border="1" align="center" bgcolor="#C0C0C0">
        <tr>
            <td>标题一</td>
            <td>标题二</td>
            <td>标题三</td>
            <td>标题四</td>
            <td>标题五</td>
        </tr>
        <tr>
            <td>数据1</td>
            <td>数据2</td>
            <td>数据3</td>
            <td>数据4</td>
            <td>1</td>
        </tr>
        <tr>
            <td>数据1</td>
            <td>数据2</td>
            <td>数据3</td>
            <td>数据4</td>
            <td>2</td>
        </tr>
        <tr>
            <td>数据1</td>
            <td>数据2</td>
            <td>数据3</td>
            <td>数据4</td>
            <td>3</td>
        </tr>
    </table>
    <table width="500" border="0" align="center">
        <tr>
            <td align="center"><input type="button" onclick="ExportExcel()" value="导出纯文本数据到Excel" /> </td>
            <td align="center"><input type="button" onclick="ExportExcelWithFormat()" value="导出带格式的数据到Excel" /> </td>
        </tr>
    </table>
    </body>
    </html>
      

  8.   

    在excel2003里面能用  我们老板要求是excel2007的问题
    现在 想了个解决方案
    但是还没试应该可以行得通
    获取gridview的表头,利用表头的值来做标签 就是类似输出个xml格式的字符串 然后保存成xls 应该能行的通吧
      

  9.   

    问题解决 利用表头做标签  数据罗列成xml文件格式
    谢谢大家
      

  10.   

    这个也算呀? 这个会有权限问题的,每次都给提示、<%@ page contentType="application/msexcel" %>
    <!-- 以上这行设定本网页为excel格式的网页 -->
    <%
       response.setHeader("Content-disposition","inline; filename=test1.xls");
       //以上这行设定传送到前端浏览器时的档名为test1.xls
       //就是靠这一行,让前端浏览器以为接收到一个excel档 
    %>
    <html>
    <head>
    <title>Excel档案呈现方式</title>
    </head>
    <body>
      <table border="1" width="100%">
        <tr>
          <td>姓名</td><td>身份证字号</td><td>生日</td>
        </tr>
        <tr>
          <td>李玟</td><td>N111111111</td><td>1900/11/12</td>
        </tr>
        <tr>
          <td>梁静如</td><td>N222222222</td><td>1923/10/1</td>
        </tr>
        <tr>
          <td>张惠妹</td><td>N333333333</td><td>1934/12/18</td>
        </tr>
      </table>
    </body>
    </html>