将数据导出并格式化成Excel中的C#

我知道这个话题已经讨论过了,但我认为它有一些差异。 我有一些我想要复制到Excel的对象列表。 如果可能的话,我也需要格式化电子表格的外观。 我曾经说过,这是一种Excel自动化库,所以允许您从代码构build电子表格。 这样,我应该能够创build该文件,然后打开它。 关于这个问题的任何想法? 谢谢!

你可以从C#导出数据到Excel,你可以给我们更多关于你想要导出的对象的信息,例如,如果你需要创build和打开一个列表视图的Excel文档,这是如何做到这一点:

首先,您需要添加Microsoft.Office.Interop.Excel作为对项目的引用,并将以下程序集添加到您的代码中:using Excel = Microsoft.Office.Interop.Excel;

//This would convert the listview1 content to Excel document and create the file in the given path private void CreateExcelFromListview() { ListViewExport.ListViewToCsv(listView1, "C:\\test.csv", true); OpenInExcel("C:\\test.csv"); } //This would open the document on screen public void OpenInExcel(string strFileName) { try { new Excel.Application {Visible = true}.Workbooks.Open(strFileName); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 

如果您创build一个典型的不使用Excel高级function的Excel文档,则可以使用NPOI http://npoi.codeplex.com/或http://code.google.com/p/npoi/等库。 或另一个叫ExcelLibrary。 我亲自使用了NPOI库,非常方便。 已知服务器端办公自动化的复杂性/问题: http : //support.microsoft.com/kb/257757 。 NPOI适合生产xls(2007年以前的Excel版本)文件。 如果您对xslx(2007年以后的Excel版本)文件感到满意,可以使用OpenXML – 它可以支持xslx文档中几乎所有需要的function

如果您对迄今为止提出的OpenXML或其他库没有兴趣 ,则可以关注一下Aspose.Cells 。 我已经用它在两个不同的项目中没有问题的良好效果(它确实有一些颜色格式怪癖,但他们可以解决)。

它允许您读取和生成Excel文件(在所有版本中),在单元格和堆中声明公式,并且不需要在最终工作站上使用Excel。

然而,对于你所说的需求来说这可能是过度的 – 从999美元起便宜起来并不便宜 ,而且在开发和部署范围越来越广的时候,它变得越来越昂贵。