亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

c#自帶壓縮類實現(xiàn)數(shù)據(jù)庫表導(dǎo)出到CSV壓縮文件

系統(tǒng) 3233 0

? ? ?

c#自帶壓縮類實現(xiàn)數(shù)據(jù)庫表導(dǎo)出到CSV壓縮文件的方法

在導(dǎo)出大量CSV數(shù)據(jù)的時候,常常體積較大,采用C#自帶的壓縮類,可以方便的實現(xiàn)該功能,并且壓縮比例很高,該方法在我的開源工具DataPie中已經(jīng)經(jīng)過實踐檢驗。我的上一篇博客《 功能齊全、效率一流的免費開源數(shù)據(jù)庫導(dǎo)入導(dǎo)出工具(c#開發(fā),支持SQL server、SQLite、ACCESS三種數(shù)據(jù)庫),每月借此處理數(shù)據(jù)5G以上 》中有該工具的完整源碼,有需要的同學(xué)可以看看。

?

? ? ?在.net 4.5中,可以輕松創(chuàng)建zip文件 ,首先需要引入?System.IO.Compression.dll、System.IO.Compression.FileSystem.dll兩個文件。其中ZipArchive 類表示一些壓縮使用 Zip 文件格式的文件。ZipArchiveEntry 類表示單個 ZipArchive。ZipArchive 通常包含一個或多個 ZipArchiveEntry 實例。

?

? ? ?DataPie中實現(xiàn)csv文件壓縮導(dǎo)出的主要代碼如下:

      using System;

using System.Linq;

using System.Text;

using System.IO.Compression;

using System.Data;

using System.Diagnostics;

using System.IO;



namespace DataPie.Core

{

   public class DBToZip

    {





        public static int DataReaderToZip(String zipFileName, IDataReader reader, string tablename)

        {

            Stopwatch watch = Stopwatch.StartNew();

            watch.Start();

            using (FileStream fsOutput = new FileStream(zipFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))

            {

                using (ZipArchive archive = new ZipArchive(fsOutput, ZipArchiveMode.Update))

                {

                    ZipArchiveEntry readmeEntry = archive.CreateEntry(tablename + ".csv");

                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open(), Encoding.UTF8))

                    {

                        for (int i = 0; i < reader.FieldCount; i++)

                        {

                            if (i > 0)

                                writer.Write(',');

                            writer.Write(reader.GetName(i) );

                        }

                        writer.Write(Environment.NewLine);



                        while (reader.Read())

                        {

                            for (int i = 0; i < reader.FieldCount; i++)

                            {

                                if (i > 0)

                                    writer.Write(',');

                                String v = reader[i].ToString();

                                if (v.Contains(',') || v.Contains('\n') || v.Contains('\r') || v.Contains('"'))

                                {

                                    writer.Write('"');

                                    writer.Write(v.Replace("\"", "\"\""));

                                    writer.Write('"');

                                }

                                else

                                {

                                    writer.Write(v);

                                }

                            }

                            writer.Write(Environment.NewLine);

                        }



                    }

                }





            }

            watch.Stop();

            return Convert.ToInt32(watch.ElapsedMilliseconds / 1000);



        }







    }

}
    

?

c#自帶壓縮類實現(xiàn)數(shù)據(jù)庫表導(dǎo)出到CSV壓縮文件


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 波多野结衣日韩 | 日本一区二区网站 | 国产青草视频免费观看97 | 亚洲欧美精品 | 成人国产在线视频在线观看 | 日韩国产成人 | 欧洲免费在线视频 | 天天添天天射 | 成 人 免 费 黄 色 | 国产亚洲视频在线观看 | 九九热最新视频 | 国产精彩视频在线 | 天天看片日日夜夜 | 国产亚洲综合在线 | 色综合网址 | 日韩欧美中文字幕出 | 91在线视频在线 | 国产日韩欧美在线一区二区三区 | 中文字幕日本一区波多野不卡 | 色综合久久精品中文字幕首页 | 不卡中文一二三区 | 最新日韩中文字幕 | 正在播放亚洲 | 国产成人精品日本亚洲直接 | 99国产精品久久久久久久... | 日本一区二区三区欧美在线观看 | 99视频在线观看免费视频 | 在线国产日韩 | 天天操夜夜夜 | 亚洲成人免费视频 | 亚洲经典在线中文字幕 | 波多野结衣精品一区二区三区 | 欧美性色xo影院在线观看 | 久久99热精品免费观看k影院 | 九九热在线精品视频 | 久久综合日韩亚洲精品色 | 久久99精品国产麻豆婷婷 | 国产成人久久久精品一区二区三区 | 成人黄色在线免费观看 | 免费毛片大全 | 亚洲欧美日韩国产综合专区 |