1

このトピックが議論されていることは知っていますが、いくつかの違いがあると思います。Excel にコピーしたいオブジェクトのリストがあります。可能であれば、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にエクスポートできます。たとえば、リストビューから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を参照してください。私はそれを2つの異なるプロジェクトで問題なく効果的に使用しました(色の書式設定の癖がいくつかありましたが、回避できました)。

Excel ファイル (すべてのバージョン) の読み取りとビルド、セルとヒープでの数式の宣言が可能で、エンド ワークステーションで Excel を必要としません。

しかし、それはあなたが述べたニーズに対してはやり過ぎかもしれません.999ドルからと安くはなく、開発と展開の範囲が広がれば広がるほど、急速に高価になります.

于 2012-06-26T11:06:12.547 に答える