我需要将数据导出到带格式的Excel文档。
基本上,非技术人员应该能够创建(或只是修改)一个Excel文档,该文档将作为导出过程的模板。
模板应该描述标题,使用的字段等。知道了模板,我必须将数据导出到此文档。基本上,它看起来像这样:
Header
{record.Name}模板文档将是相当复杂的-它将有自定义格式,标签等。然而,格式化单元格不是我的任务,我只需要用数据填充文档。我不仅需要导出单个字段,还需要导出列表,因此我需要为列表中的每个元素向文档中添加行。
目前,我使用的是Excel2003,但如果这个版本支持更好的集成,我可以将其更改为Excel2007。
我不知道Excel是否允许这种开箱即用的集成,但对于我来说,如果我必须在Excel文档中定义一些自定义标记或使用一些第三方库,这并不重要。
我使用的是.NET 3.5和C#。
发布于 2010-02-10 23:12:38
我最终在excel中使用了xml数据源,并创建了xml映射。多亏了这一点,我得到了非技术用户可以编辑的很好的模板,并且在代码中我只创建了数据的xml描述。在使用它之前,必须创建定义数据模式xsd文件。
发布于 2009-11-02 20:43:32
您可以将页面中的控件导出到Excel,其中的MIME格式为Excel:
private void Button1_Click(object sender, System.EventArgs e)
{
//Export to excel.
Response.Clear();
Response.Buffer= true;
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.ClearControls(datagrid);
datagrid.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}有关详细信息,请参阅"Export ASP.NET DataGrid to Excel"教程。
发布于 2009-11-02 20:43:58
与Excel集成的方式至少有两种
就我个人而言,我认为第二种选择在这里更好,因为您肯定需要linq功能来完成这类工作。
https://stackoverflow.com/questions/1661045
复制相似问题