从html导出到.csv

时间:2014-06-24 11:44:07

标签: html model-view-controller

我想将html页面中的表导出为.csv文件。我可以使用类似的东西:

private void GenerateExcelFileOnType(string filePath1, ref DataTable dt)
        {
            if (dt != null)
            {
                string line = string.Empty;
                if (dt.Rows.Count > 0)
                {
                    string str = dt.ToCSV();
                    using (StreamWriter sw = new StreamWriter(filePath1))
                    {
                        sw.Write(str);
                    }
                }
                dt.Clear();
                dt = null;
            }
        }

但有什么方法可以直接从html页面导出,就像我们做print (windows.print)

一样

1 个答案:

答案 0 :(得分:0)

据我所知,除了发送另一个HTTP请求并使用可下载的mime类型进行响应之外,没有可靠的方法直接从网页启动可下载文件。

我也无法真正看到对它的需求。只要您可以发送包含所需各种信息的请求,您的服务器就可以做出适当的响应。

<强>更新

从您的评论中看来,您似乎并不希望在本地写入CSV文件。如果您只想在浏览器中将CSV显示为文本,那么 当然 这是可能的,只需进行一些简单的迭代:

function csv(id){

  var output = '';

  $('table#' + id + ' tr').each(function(i){

    if(i)
      output += '</br>';

    var children = $(this).find('td, th');

    children.each(function(j){

      output += '\"' + $(this).html() +  '\"';

      if(j < children.length - 1)
        output += ', ';

    });
  });

  return output;

}

这里是fiddle ...