使用Excel Application对象将数据导出到Templated Excel工作表

时间:2013-12-03 12:05:10

标签: c# excel com-interop

我正在使用C#创建一个Windows应用程序,其中要求是在Windows窗体中显示Excel电子表格。

有一些预定义的Excel模板,它们由数据库中的数据填充。 来自数据访问层的数据采用IEnumerable对象的形式,这将填充excel模板中的数据。我能够填写excel模板中的数据,但问题与填充预定义模板有关。

任何帮助表示感谢。

先谢谢。

1 个答案:

答案 0 :(得分:2)

除非您别无选择,否则我不建议使用MS Excel API,我们遇到了很多麻烦。

我们使用EPPlus开源库,到目前为止已经有了greadt成功。它的(恕我直言)易于学习,具有积极的开发,NuGet的支持,并且具有相当多的功能,可以做很多花哨的东西。填充模板的示例如下:

using (var templateXls = new ExcelPackage(new FileInfo(templateFilePath)))
{
    var sheet = templateXls .Workbook.Worksheets[1];
    ...
    sheet.Cells["A1"].Value = "your content";
    ...
    templateXls.SaveAs(new FileInfo(newFilePath));                   ) 
}