OpenXMLの性能は、それは本当に悪いですか?NETのエクスポートExcelと4つのメソッドの評価

ボーエンNETのエクスポートExcelとの4つの方法の評価  4つの輸出実績ライブラリとは対照的に、しかし、のOpenXMLの評価は高くないが、私はそれが合理的だと思うので、私は、パフォーマンスの下で再試験します

 

包装ExcelDownWorkerのOpenXMLのに基づいて、

1  パブリック クラスExcelDownWorker
 2  {
 3。     ボイド NewRow(); // 新しい行
4。 
5。     ボイド書き込み(オブジェクト値); // 書き込み用カラム、カラムA書き込みを開始する
。6  
。7      ボイド開始(ストリームストリーム); // スタート作成
8 
9      ボイド端(); // エンド作成
10 }

データの書き込みは、データがテストデータの最前列で10 6W

静的 ボイドエクセル(一覧<温度> LT)
        { 
            Console.WriteLineを(GC.GetTotalMemory())。
            VAR ST = 新しいストップウォッチ(); st.Start(); VaRの EW = 新しいExcelDownWorker();
            使用VARの FS = 新規のFileStream(Directory.GetCurrentDirectory()+ " \\ data.xlsx " 、FileMode.Create、FileAccess.ReadWrite))
            { 
                ew.Start(FS)。
                VaRの PS = typeof演算(TEMP).GetProperties();
                foreachのVARの P におけるPS){ew.Write(p.Name)。} 
                ew.NewRow()。
                VAR i = 0 ; iは< 1 ; I ++ )//用于测试12W、18W、102W 
                { 
                    foreachのVARの N におけるLT)
                    { 
                        foreachのVARの P におけるPS){ew.Write(p.GetValue(N) ); } 
                        ew.NewRow()。
                    } 
                } 
                ew.End()。
                fs.Flush(); 
            } 
            st.Stop()。
            Console.WriteLineを(GC.GetTotalMemory()); 
            Console.WriteLineを(st.ElapsedMilliseconds)。
        }
クラス温度
    { 
        公共 のint Idを{ 取得しますセット; }
         公共 int型の性別{ 得ますセット; }
         パブリック 文字列姓{ 得ますセット; }
         パブリック 文字列氏名{ 得ますセット; }
         パブリック 文字列メール{ 取得しますセット; }
         公共のDateTime生年月日{ 得ますセット; }
         パブリック 文字列の会社{ 取得しますセット; }
         パブリック 文字列電話{ 取得しますセット; }
         パブリック 文字列のウェブサイト{ 取得しますセット; }
         パブリック 文字列 SSN { 得ますセット; } 
    }
静的 ボイドメイン(文字列[]引数)
        { 
            VAR S = File.ReadAllText(Directory.GetCurrentDirectory()+ " \\試験data.json " )。
            VAR LT = DeserializeObject <リスト<温度>> (S);
            VAR i = 0 ; iは< 5 ; iが++ 
            { 
                Console.WriteLineを($ " ___________________第{I + 1}次________________________ " )。
                エクセル(LT)。
            } 
            Console.ReadKey()。
        }

結論:OpenXMLの下着、結局のところ、良好なパフォーマンスの可塑性を持っています。6Wは1000ミリ秒に800行と10列を処理しました。

おすすめ

転載: www.cnblogs.com/xuzhiqiang/p/11420921.html