簡體   English   中英

從C#導出數據並將數據格式化為Excel

[英]Export and format data into Excel from C#

我知道這個話題已經討論過,但我認為它有一些不同之處。 我有一些對象列表,我想復制到Excel。 如果可能的話,我還需要格式化電子表格的外觀。 我曾經說過,這是某種Excel自動化庫,或者允許你從代碼中構建一個電子表格。 這樣我就可以創建該文檔,然后打開它。 關於那件事的任何想法? 謝謝!

如果您創建的典型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文檔中可能需要的所有功能

您可以從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);
        }
    }

如果您對目前建議的OpenXML或其他庫沒有興趣 ,您可能會關注Aspose.Cells 我已經在兩個不同的項目中使用它沒有問題(它確實有一些顏色格式怪癖,但它們可以解決)。

它允許您讀取和構建Excel文件(在所有版本中),在單元格和堆中聲明公式,並且在終端工作站上不需要Excel。

但是,對於您所聲明的需求可能有點過分 - 從999美元開始並不便宜 ,而且您想要開發和部署的范圍越來越廣泛。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM