ボーエン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()。 }