2009-11-02 216 views
0

我需要将数据导出到一个格式化的文档Excel将数据导出到Excel

基本上,非技术人员应该能够创建(或只是修改)的Excel文档,这将成为导出过程的模板。

模板应该描述头,使用的字段,等等。知道我必须将数据导出到该文档的模板。基本上,它会是这个样子:

Header 
{record.Name} 

模板文件将是相当复杂 - 它有自定义格式,标签等。但是,格式化的细胞是不是我的任务,我只需要填写的文件与数据。我将不仅需要导出单个字段,还需要导出列表,因此我需要为列表中的每个元素添加行到文档中。

目前,我使用的是Excel 2003,但如果该版本支持更好的整合,我可以将其更改为Excel 2007中。

我不知道Excel允许这种融合的开箱即用,但对我来说,如果我有在Excel文档中定义一些自定义的标签,或者使用一些第三方库并不重要。

我使用.NET 3.5和C#。

回答

0

我结束了使用的Excel XML数据源和创建XML映射。感谢这一点,我得到了非技术用户可以编辑的很好的模板,并且在代码中我只创建了我的数据的xml描述。在您使用它之前,您必须创建定义数据模式的xsd文件。

0

你可以在一个页面控件出口到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"教程进一步的细节。

+0

我需要基于模板创建文档。我不需要创建新文档。 – empi 2009-11-02 13:21:53

0

有与Excel

  1. OLE自动化集成的至少2种方式 - 有在VS,使您可以打开,关闭和操作的Excel组件。这适用于所有版本,包括2003.
  2. Linq to Excel。这只适用于新版本(或者如果您为新文件格式安装了插件)。

就我个人而言,我认为第二种选择在这里更好,因为您肯定需要linq功能来完成这种工作。