将表格导出为Excel文件格式时遇到了很大问题。
首先,我创建了在服务器上运行的代码,并允许我将数据导出到Excel。由于我的表是从数据库动态创建的,因此该阶段的表中没有任何内容,因此没有导出数据。
我的第二种方法是使用javascript或一个名为“DataTables”(www.datatables.net)的非常好的jQuery插件来定位客户端的最终编译表。两次尝试都失败了。 Javascript对我来说似乎很复杂,加上它在Firefox中运行有困难,另一方面插件需要一个非常具体的表结构,我恐怕无法提供。
因此,我的一个新想法是:在编译并在服务器上构建之后,但在将其发送到浏览器之前抓取页面。使用服务器上的功能定位表并获取其数据。最后将数据导出到Excel,并将页面发送到浏览器。现在。可能吗?如果是,那怎么样?
我是编程世界的初学者,所以任何建设性的建议和批评都会受到高度赞赏。我不介意任何硬代码示例;)
答案 0 :(得分:1)
您可以尝试这样做:
protected void btnExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
//if you're exporting a table put the table in a placeholder and render
//the placeholder to the text writer here
grdJobs.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
答案 1 :(得分:0)
您需要做的是将查询结果导出为.CSV文件。可以在Excel中打开CSV文件完全没问题。 http://wiki.asp.net/page.aspx/401/export-to-csv-file/这将向您展示如何导出为.CSV格式。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您想要导出到实际的XLS或XLSX而不仅仅是CSV或只是在Excel中“打开”的东西,那么第三方工具可以帮助您解决这个问题。这里有一个例子: