我想将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)
答案 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 ...