0

我正在使用以下代码将表格导出到 Excel,但我刚刚意识到如果我将其上传到服务器,它将无法正常工作。它只能在开发机器上工作。

function writeToExcel(tableID,columnas) 
{
  str="";

  var myTableHead = document.getElementById(tableID);
  var rowCount = myTableHead.rows.length;

  var ExcelApp = new ActiveXObject("Excel.Application");
  var ExcelSheet = new ActiveXObject("Excel.Sheet");
  ExcelSheet.Application.Visible = true;
  var celda = new Array(columnas);  
  //f = Nro Filas
  getN(tableID);
  for(f=0;f<n;f++){
    //g = Nro Columnas
    for(g=0;g<columnas;g++)
    {
        //if(g!=1 || g!= 8 || g!=10 || g!= 12){
        str= document.getElementById(tableID+f+""+g).innerHTML;
        ExcelSheet.ActiveSheet.Cells(f+1,g+1).value = str;

    }
  }
}

我错过了什么吗?在开发机器中它工作得非常好!但在服务器端却没有。有一个更好的方法吗?也许使用jQuery?

我在服务器端收到一条错误消息: Automation server can't create object它在下一行给了我错误,

  var ExcelApp = new ActiveXObject("Excel.Application");

任何帮助是极大的赞赏

4

1 回答 1

0

Excel 并非设计为在服务器上运行。有多种方法可以使用服务器端技术在服务器上写出 excel。请参阅http://support.microsoft.com/kb/257757

在您的情况下,您可以将相同的 html 表写入响应流并将 mime 类型设置为application/vnd.ms-excel

于 2013-06-10T21:21:04.457 回答