• <menu id="w2i4a"></menu>
  • logo Fastreport.Net 教程2018(完結(jié))

    文檔首頁(yè)>>Fastreport.Net 教程2018(完結(jié))>>如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換


    MS Excel電子表格編輯器在編輯CSV文件方面做得很好。你可以排序和過濾數(shù)據(jù),刪除不必要的列,添加編號(hào)。但是如果你沒有電子表格呢?編輯csv文件變成了噩夢(mèng)。你必須跟蹤分隔符來理解這個(gè)或那個(gè)數(shù)據(jù)所指向的列。排序通常成為幾乎不可能完成的任務(wù),尤其是在處理大量數(shù)據(jù)時(shí)。

    這種情況怎么解決?我們有FastReport.Net。我們可以使用csv作為報(bào)表的數(shù)據(jù)源。在報(bào)表內(nèi)部,執(zhí)行數(shù)據(jù)轉(zhuǎn)換。然后,導(dǎo)出回csv文件。

    讓我們來看一個(gè)帶有姓名和地址列表的小型CSV文件:

    如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    首先,確定我們想要做的轉(zhuǎn)換:

    1. 刪除PostalCode列;
    2. 從地址中提取城市名稱,作為一個(gè)單獨(dú)的字段;
    3. 所有記錄按姓名排序;
    4. 從數(shù)據(jù)集中刪除Robert King的姓氏。

    創(chuàng)建一個(gè)新的報(bào)表。添加一個(gè)新的CSV數(shù)據(jù)源文件。

    在報(bào)表頁(yè)面上,放置FIO和地址字段,并添加地址字段兩次。第一個(gè)添加的地址字段編輯如下: [Substring ([Addresses .Address], 0.6)] 。所以,我們將莫斯科從其他地址中單獨(dú)拎出來。如果城市名稱不同,我們需要更復(fù)雜的處理。為此,你需要使用報(bào)表腳本。對(duì)于添加到帶區(qū)的文本對(duì)象,你需要?jiǎng)?chuàng)建 BeforePrint () 事件。在腳本中,我們添加了庫(kù)的使用:using System.Text.RegularExpressions;

    這里是事件處理句柄代碼:

    private void Text5_BeforePrint(object sender, EventArgs e)
     {
     Regex rgx = new Regex("([^,]|\n)+", RegexOptions.IgnoreCase);
     Match match = rgx.Match(Report.GetColumnValue("Адреса.Address").ToString());
     if (match.Success)
     {
     Text5.Text = match.Value.ToString();
     }
     }
    

    如你所見,我們使用正則表達(dá)式來選擇逗號(hào)前的數(shù)據(jù)。

    現(xiàn)在讓我們回到已添加的第二個(gè)地址字段。由于我們把城市名稱分成了一個(gè)獨(dú)立的列,所以其余的地址必須留在這里。我們使用Text3對(duì)象的腳本:

    private void Text3_BeforePrint(object sender, EventArgs e)
     {
     Regex rgx = new Regex(@"(?<=,\s).*", RegexOptions.IgnoreCase);
     Match match = rgx.Match(Report.GetColumnValue("Addresses.Address").ToString());
     if (match.Success)
     {
     Text3.Text = match.Value.ToString();
     }
     }
    

    現(xiàn)在我們按姓名排序數(shù)據(jù)。要做到這一點(diǎn),雙擊“數(shù)據(jù)”帶區(qū)。選擇“排序”選項(xiàng)卡。我們有三個(gè)字段可以排序。我們只指定第一個(gè)值 – 姓名:

    如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    我們需要的只是按照姓名“Robert King”篩選數(shù)據(jù)。要做的這一點(diǎn),再次雙擊數(shù)據(jù)帶區(qū)。在隨后出現(xiàn)的窗口中,選擇“過濾”選項(xiàng)卡并輸入表達(dá)式 [Addresses.Name]!="Robert King"

    如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    以預(yù)覽模式運(yùn)行報(bào)表:

    如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    所以,我們刪除了ZIP列,按姓名稱對(duì)列表進(jìn)行排序,將地址分成城市和街道,刪除了名字為Robert King的行。

    現(xiàn)在讓我們導(dǎo)出到csv。要做到這一點(diǎn),在預(yù)覽模式下,按下按鈕:如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    并選擇“CSV格式...”。在對(duì)話框中,單擊“確定”并選擇文件將被保存的位置。最后,我們得到以下CSV文件:

    如何更簡(jiǎn)單實(shí)現(xiàn)CSV文件轉(zhuǎn)換

    如你所見,事實(shí)證明,使用FastReport轉(zhuǎn)換文檔相當(dāng)簡(jiǎn)單,這與在Excel編輯器中工作時(shí)間成本相當(dāng)。因此,F(xiàn)astReport可以成為處理CSV文件的最佳替代工具。

    產(chǎn)品介紹 下載試用 | 優(yōu)惠活動(dòng) | 在線客服 | 聯(lián)系Elyn

     

    推薦閱讀

    FastReport 2018 最新版本下載
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();