1

我知道这个话题已经讨论过了,但我认为它有一些不同之处。我有一些要复制到 Excel 的对象列表。如果可能的话,我还需要格式化电子表格的外观。有人说这是某种 Excel 自动化库,或者允许您从代码构建电子表格。这样我应该能够创建该文档并稍后打开它。关于这件事有什么想法吗?谢谢!

4

3 回答 3

4

如果您创建的典型 Excel 文档不使用 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 文档中可能需要的几乎所有功能

于 2012-06-26T10:49:20.747 回答
0

您可以从 C# 将数据导出到 Excel,您能否向我们提供有关要从中导出的对象的更多信息,例如,如果您需要从 Listview 创建和打开一个 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);
        }
    }
于 2012-06-26T11:01:27.587 回答
0

如果您对 OpenXML 或到目前为止建议的其他库不满意,您可能会关心查看Aspose.Cells。我已经在两个不同的项目中使用它,效果很好,没有问题(它确实有一些颜色格式的怪癖,但可以解决它们)。

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

但是,对于您声明的需求来说,它可能有点过头了——它从 999 美元起并不便宜,而且随着您想要开发和部署的范围越广,它的价格就会迅速上涨。

于 2012-06-26T11:06:12.547 回答