Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 中文字幕在线视频免费观看,国产视频你懂得,99精品视频在线观看免费播放

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          24 個(gè) JavaScript 循環(huán)遍歷方法,你都知

          24 個(gè) JavaScript 循環(huán)遍歷方法,你都知道嗎?

          天我們來看點(diǎn)基礎(chǔ)知識(shí),看看JavaScript中的那些循環(huán)遍歷方法:

          一、數(shù)組遍歷方法

          1. forEach()

          forEach 方法用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。數(shù)組中的每個(gè)值都會(huì)調(diào)用回調(diào)函數(shù)。其語法如下:

          array.forEach(function(currentValue, index, arr), thisValue)
          

          該方法的第一個(gè)參數(shù)為回調(diào)函數(shù),是必傳的,它有三個(gè)參數(shù):

          • currentValue:必需。當(dāng)前元素
          • index:可選。當(dāng)前元素的索引值。
          • arr:可選。當(dāng)前元素所屬的數(shù)組對(duì)象
          let arr=[1,2,3,4,5]
          arr.forEach((item, index, arr)=> {
            console.log(index+":"+item)
          })
          

          該方法還可以有第二個(gè)參數(shù),用來綁定回調(diào)函數(shù)內(nèi)部this變量(前提是回調(diào)函數(shù)不能是箭頭函數(shù),因?yàn)榧^函數(shù)沒有this):

          let arr=[1,2,3,4,5]
          let arr1=[9,8,7,6,5]
          arr.forEach(function(item, index, arr){
            console.log(this[index])  //  9 8 7 6 5
          }, arr1)
          

          注意:

          • forEach 方法不會(huì)改變?cè)瓟?shù)組,也沒有返回值;
          • forEach無法使用 break,continue 跳出循環(huán),使用 return 時(shí),效果和在 for 循環(huán)中使用 continue 一致;
          • forEach 方法無法遍歷對(duì)象,僅適用于數(shù)組的遍歷。

          2. map()

          map() 方法會(huì)返回一個(gè)新數(shù)組,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值。該方法按照原始數(shù)組元素順序依次處理元素。其語法如下:

          array.map(function(currentValue,index,arr), thisValue)
          

          該方法的第一個(gè)參數(shù)為回調(diào)函數(shù),是必傳的,它有三個(gè)參數(shù):

          • currentValue:必須。當(dāng)前元素的值;
          • index:可選。當(dāng)前元素的索引值;
          • arr:可選。當(dāng)前元素屬于的數(shù)組對(duì)象。
          let arr=[1, 2, 3];
           
          arr.map(item=> {
              return item + 1;
          })
          
          // 輸出結(jié)果: [2, 3, 4]
          

          該方法的第二個(gè)參數(shù)用來綁定參數(shù)函數(shù)內(nèi)部的this變量,是可選的:

          let arr=['a', 'b', 'c'];
           
          [1, 2].map(function (e) {
              return this[e];
          }, arr)
          
          // 輸出結(jié)果: ['b', 'c']
          

          該方法還可以進(jìn)行鏈?zhǔn)秸{(diào)用:

          let arr=[1, 2, 3];
           
          arr.map(item=> item + 1).map(item=> item + 1)
          
          // 輸出結(jié)果: [3, 4, 5]
          

          注意:

          • map 方法不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè);
          • map 方法遍歷數(shù)組時(shí)會(huì)返回一個(gè)新數(shù)組,不會(huì)改變?cè)紨?shù)組
          • map 方法有返回值,可以return出來,map的回調(diào)函數(shù)中支持return返回值;
          • map 方法無法遍歷對(duì)象,僅適用于數(shù)組的遍歷。

          3. for of

          for...of 語句創(chuàng)建一個(gè)循環(huán)來迭代可迭代的對(duì)象。在 ES6 中引入的 for...of 循環(huán),以替代 for...inforEach() ,并支持新的迭代協(xié)議。其語法如下:

          for (variable of iterable) {
              statement
          }
          

          該方法有兩個(gè)參數(shù):

          • variable:每個(gè)迭代的屬性值被分配給該變量。
          • iterable:一個(gè)具有可枚舉屬性并且可以迭代的對(duì)象。

          該方法可以獲取數(shù)組的每一項(xiàng):

          let arr=[
              {id:1, value:'hello'},
              {id:2, value:'world'},
              {id:3, value:'JavaScript'}
          ]
          for (let item of arr) {
            console.log(item); 
          }
          // 輸出結(jié)果:{id:1, value:'hello'}  {id:2, value:'world'} {id:3, value:'JavaScript'}
          

          注意:

          • for of 方法只會(huì)遍歷當(dāng)前對(duì)象的屬性,不會(huì)遍歷其原型鏈上的屬性;
          • for of 方法適用遍歷 數(shù)組/ 類數(shù)組/字符串/map/set 等擁有迭代器對(duì)象的集合;
          • for of 方法不支持遍歷普通對(duì)象,因?yàn)槠錄]有迭代器對(duì)象。如果想要遍歷一個(gè)對(duì)象的屬性,可以用 for in 方法;
          • 可以使用break、continue、return來中斷循環(huán)遍歷;

          4. filter()

          filter()方法用于過濾數(shù)組,滿足條件的元素會(huì)被返回。它的參數(shù)是一個(gè)回調(diào)函數(shù),所有數(shù)組元素依次執(zhí)行該函數(shù),返回結(jié)果為true的元素會(huì)被返回,如果沒有符合條件的元素,則返回空數(shù)組。其語法如下:

          array.filter(function(currentValue,index,arr), thisValue)
          

          該方法的第一個(gè)參數(shù)為回調(diào)函數(shù),是必傳的,它有三個(gè)參數(shù):

          • currentValue:必須。當(dāng)前元素的值;
          • index:可選。當(dāng)前元素的索引值;
          • arr:可選。當(dāng)前元素屬于的數(shù)組對(duì)象。
          const arr=[1, 2, 3, 4, 5]
          arr.filter(item=> item > 2) 
          
          // 輸出結(jié)果:[3, 4, 5]
          

          同樣,它也有第二個(gè)參數(shù),用來綁定參數(shù)函數(shù)內(nèi)部的this變量。

          可以使用filter()方法來移除數(shù)組中的undefined、null、NAN等值:

          let arr=[1, undefined, 2, null, 3, false, '', 4, 0]
          arr.filter(Boolean)
          
          // 輸出結(jié)果:[1, 2, 3, 4]
          

          注意:

          • filter 方法會(huì)返回一個(gè)新的數(shù)組,不會(huì)改變?cè)瓟?shù)組;
          • filter 方法不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè);
          • filter 方法僅適用于檢測(cè)數(shù)組。

          5. some()、every()

          some() 方法會(huì)對(duì)數(shù)組中的每一項(xiàng)進(jìn)行遍歷,只要有一個(gè)元素符合條件,就返回true,且剩余的元素不會(huì)再進(jìn)行檢測(cè),否則就返回false。

          every() 方法會(huì)對(duì)數(shù)組中的每一項(xiàng)進(jìn)行遍歷,只有所有元素都符合條件時(shí),才返回true,如果數(shù)組中檢測(cè)到有一個(gè)元素不滿足,則整個(gè)表達(dá)式返回 false ,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。其語法如下:

          兩者的語法如下:

          array.some(function(currentValue,index,arr),thisValue)
          array.every(function(currentValue,index,arr), thisValue)
          

          兩個(gè)方法的第一個(gè)參數(shù)為回調(diào)函數(shù),是必傳的,它有三個(gè)參數(shù):

          • currentValue:必須。當(dāng)前元素的值;
          • index:可選。當(dāng)前元素的索引值;
          • arr:可選。當(dāng)前元素屬于的數(shù)組對(duì)象。
          let arr=[1, 2, 3, 4, 5]
          arr.some(item=> item > 4) 
          
          // 輸出結(jié)果:true
          
          let arr=[1, 2, 3, 4, 5]
          arr.every(item=> item > 0) 
          
          // 輸出結(jié)果:true
          

          注意:

          • 兩個(gè)方法都不會(huì)改變?cè)瓟?shù)組,會(huì)返回一個(gè)布爾值;
          • 兩個(gè)方法都不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè);
          • 兩個(gè)方法都僅適用于檢測(cè)數(shù)組。

          6. reduce()、reduceRight()

          reduce() 方法接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值(從左到右)開始縮減,最終計(jì)算為一個(gè)值。reduce() 可以作為一個(gè)高階函數(shù),用于函數(shù)的 compose。其語法如下:

          array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
          

          reduce 方法會(huì)為數(shù)組中的每一個(gè)元素依次執(zhí)行回調(diào)函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素,回調(diào)函數(shù)接受四個(gè)參數(shù):

          • total:上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue);
          • currentValue:當(dāng)前被處理的元素;
          • currentIndex:當(dāng)前元素的索引;
          • arr:當(dāng)前元素所屬的數(shù)組對(duì)象。

          該方法的第二個(gè)參數(shù)是 initialValue,表示傳遞給函數(shù)的初始值 (作為第一次調(diào)用 callback 的第一個(gè)參數(shù)):

          let arr=[1, 2, 3, 4]
          let sum=arr.reduce((prev, cur, index, arr)=> {
              console.log(prev, cur, index);
              return prev + cur;
          })
          console.log(arr, sum);
          

          輸出結(jié)果:

          大家好,我是小雨!

          今天我們要介紹的知識(shí)點(diǎn)是 Django 中的 Templates,它也是 MVT 結(jié)構(gòu)中的 T,Templates 可以叫它模板。Templates 究竟用來做什么,通過這一節(jié)的介紹,希望大家有一個(gè)基本的了解。

          一、Templates 模板

          在上一節(jié)當(dāng)中,我們?cè)跒g覽器中看到的是 HTTPResponse 返回的字符串,而這一節(jié)我們講的 templates 最直接的功能是把前端的 html 頁(yè)面顯示出來,這樣用戶就能看到清晰美觀的界面。那么 Django 是如何加載 html 網(wǎng)頁(yè)的呢?下面介紹兩種方式:

          1.使用 render_to_string 加載 html

          我們提前準(zhǔn)備好一個(gè) html 頁(yè)面index.html,然后為了方便 views 中能成功訪問到這個(gè)index.html,需要在settings.py中將templates文件夾的路徑聲明清楚。在 TEMPLATES 列表字典的DIRS屬性下添加一下內(nèi)容:

          os.path.join(BASE_DIR, 'templates')  # 如果缺少os模塊記得導(dǎo)入

          render_to_string 的使用方法: 先使用from django.templates.loader import render_to_string導(dǎo)入模塊,然后給 render_to_string 傳入 html 文件后,最后將其以 HttpResponse 的方式返回出去即可。

          from django.http import HttpResponse
          from django.templates.loader import render_to_string
          
          def index(request):
              html = render_to_string("index.html")
              return HttpResponse(html)

          2. 使用 render 加載 html

          這里我們需要從django.shortcut導(dǎo)入 render 模塊,一般情況下 Django 會(huì)默認(rèn)導(dǎo)入這個(gè)模塊,views 中如果沒有的話就手動(dòng)導(dǎo)入一下:

          from django.shortcut import render

          接著 render 中傳入 html 文件,記得添加 request 參數(shù),然后使用 return 返回 render 即可:

          def index(request):
              return render(request,'index.html')

          最后記得在 urls.py 中將路徑對(duì)應(yīng)的 views.index 添加進(jìn)來就可以了。

          二、模板語言的基本使用

          我們要知道 templates 作為 MVT 架構(gòu)中的 T,不僅僅是加載前端中的頁(yè)面,它還包含一種模板語言,能夠在 htmlL 語言中實(shí)現(xiàn)邏輯控制(條件選擇、循環(huán)),相對(duì)于 JavaScript 會(huì)更加的靈活。

          常用的python模板語言引擎

          接下來,我們就以一個(gè)簡(jiǎn)單的例子來介紹 Django 模板語言的使用。

          1.功能需求分析

          我們有一個(gè)存儲(chǔ)學(xué)生信息的Students.csv文件,包含了學(xué)號(hào)、姓名、性別、手機(jī)號(hào)碼、出生日期、電子郵箱等信息。

          319001,趙一,男,1998/12/27,18706012232,532211428@qq.com,北京市海淀區(qū)頤和園路5號(hào),342622199801144314,2019/9/1,計(jì)算機(jī),趙一,13655512212
          319002,錢二,女,1995/10/25,13459732456,572501101@qq.com,北京市海淀區(qū)雙清路30號(hào),342622199709066819,2019/9/1,物聯(lián)網(wǎng),王二,13856909992

          這里數(shù)據(jù)其實(shí)有很多條,為了減少篇幅我們就羅列出兩條。

          現(xiàn)在需要將這些數(shù)據(jù)加載到前端的 html 頁(yè)面中,通過 tabel 標(biāo)簽顯示出來。

          2. 實(shí)現(xiàn)過程

          (1)準(zhǔn)備

          首先用 pycharm 新建一個(gè) Django 項(xiàng)目,為了方便使用直接把 application 和 templates 文件夾都建好。

          pycharm新建Django項(xiàng)目

          在 templates 中新建一個(gè) index.html 文件,寫好用于顯示學(xué)生信息的標(biāo)題以及表格框架。

          <div id="title">學(xué)生信息列表</div>
          <div id="table_main">
              <table border="1">
                  <thead>
                      <tr>
                          <th>學(xué)號(hào)</th>
                          <th>姓名</th>
                          <th>性別</th>
                          <th>出生日期</th>
                          <th>手機(jī)號(hào)碼</th>
                          <th>電子郵箱</th>
                          <th>家庭地址</th>
                      </tr>
                  </thead>
                  <tbody>
                  </tbody>
              </table>
          </div>

          (2)views 設(shè)置

          為了讀取 csv 文件,寫一個(gè)read_form_file方法,將文件中的信息存儲(chǔ)在 Students 列表中。

          def read_from_file(path:str):
              students = []
              try:
                  with open(path, mode="r", encoding="UTF-8") as fd:
                      # 讀取當(dāng)前行
                      current_line = fd.readline()
                      # 判斷當(dāng)前行是否為空
                      while current_line:
                          temp_line = current_line.split(",")
                          students.append(temp_line)
                          current_line = fd.readline()
                  return students
              except Exception as e:
                  raise e

          接下來,我們定義一個(gè) student 方法,用來顯示 html 內(nèi)容給前端,這里面我們還是使用 render 將獲取的數(shù)據(jù)傳遞給前端頁(yè)面index.html

          注意使用 context 參數(shù),它的值我們?cè)O(shè)置為一個(gè)字典,鍵設(shè)置為 DTL 模板語言中要引用的變量,值設(shè)置為本地獲取的數(shù)據(jù)

          def student(request):
              students = read_from_file(r"D:\Python\Project\Demo\Student.csv")
              return render(request, "index.html", context={"all_student":students})

          (3)DTL 模板語言

          index.html中,表格內(nèi)容的填充,我們通過 DTL 模板語言來完成。在 HTML 代碼中要插入 DTL 模板語言,需要使用{%語句%},for 語句還要使用{% endfor %}來結(jié)尾,在語句內(nèi)部調(diào)用變量列表中的元素也是直接使用變量名.數(shù)字并且需要包裹兩層大括號(hào)。這里我們以循環(huán)輸出 student 列表中的各個(gè)元素為例,其 DTL 模板語言的寫法如下:

           {% for student in all_student %}
              <tr>
              <td>{{ student.0 }}</td>
              <td>{{ student.1 }}</td>
              <td>{{ student.2 }}</td>
              <td>{{ student.3 }}</td>
              <td>{{ student.4 }}</td>
              <td>{{ student.5 }}</td>
              <td>{{ student.6 }}</td>
              </tr>
           {% endfor %}

          (4)urls 配置

          接下來配置路由,添加 student 路徑

          path('student/',app01_views.student),

          (5)運(yùn)行效果

          一切準(zhǔn)備就緒后,執(zhí)行python manage.py runserver,在瀏覽器中打開127.0.0.1:8000/student效果如下:

          數(shù)據(jù)被成功加載

          三、加載靜態(tài)文件

          1. 什么是靜態(tài)文件

          不能與服務(wù)器做動(dòng)態(tài)交互的文件叫靜態(tài)文件; 對(duì)于 HTML 中的圖片、視頻、css、js 這些都屬于靜態(tài)文件。Django 對(duì)于這些文件有一套明確的管理機(jī)制。 如果我們只遵循 HTML 的規(guī)范去加載靜態(tài)文件,在 Django 中是顯示不出來的。

          Django無法加載靜態(tài)文件

          2. 如何加載靜態(tài)文件

          為了解決這個(gè)問題,我們首先要確保配置文件 settings.py 中 INSTALLED_APP 下靜態(tài)文件模塊有被加載到:

          'django.contrib.staticfiles',  # 必須確保安裝靜態(tài)模塊

          然后使用STATICFILES_DIRS這個(gè)全局變量來存儲(chǔ)靜態(tài)文件的路徑。

          STATICFILES_DIRS = [
              os.path.join(BASE.DIR, 'static'),
          ]

          然后在 html 中開始加上模板語言,如果讓 html 引用靜態(tài)文件,那就需要先導(dǎo)入靜態(tài)模塊。在 html 語句第一行寫上

          {% load static %}

          對(duì)于要引用靜態(tài)圖片的標(biāo)簽路徑使用{% static "路徑文件名 "%},如:

          <img src="{% static "logo.png"%}">

          這樣 Django 就能顯示靜態(tài)文件圖片了。

          3. 顯示效果

          靜態(tài)圖片被正確顯示了


          4. 注意事項(xiàng)

          一般情況下,static 文件夾我們會(huì)放在app目錄下。這時(shí)候訪問靜態(tài)文件,則需要在STATICFILES_DIRS的 os.path.join 參數(shù)中再多添加一個(gè)子文件夾名,可以寫成:

          STATICFILES_DIRS = [
              os.path.join(BASE.DIR, 'app01','static'),
          ]

          5. 直接訪問靜態(tài)文件

          在 Django 配置的文件 settings.py 中有一個(gè)全局變量STATIC_URL,它定義了一個(gè)給外界用戶直接訪問靜態(tài)文件的路徑。 上面我們添加在標(biāo)題中的 logo.png,我們可以在瀏覽器中直接通過127.0.0.1:8000/student/static/logo.png來訪問。

          直接訪問靜態(tài)文件

          四、加載靜態(tài)文件綜合案例

          為了更好地鞏固 Django 加載靜態(tài)文件的知識(shí),我們做一個(gè)小案例。學(xué)生信息管理系統(tǒng)的登錄頁(yè)面。有顯示圖片 logo,有用戶名和密碼的輸入框,并且有提交按鈕。當(dāng)點(diǎn)擊按鈕時(shí),會(huì)彈出提示表示登錄成功。

          這里簡(jiǎn)單說明一下:

          界面采用了 Bootstrap 框架,登錄按鈕的功能函數(shù)用了 jQuery 腳本。關(guān)于前端的知識(shí)我們這里就不做過多介紹了。

          {% load static %}
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>login</title>
              <!--加載外部的CSS文件-->
              <link type="text/css" rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">
              <link type="text/css" rel="stylesheet" href="{% static "css/basic.css" %}">
              <!--加載外部的js文件-->
              <script src="{% static "js/jquery.min.js" %}"></script>
              <script src="{% static "js/login.js" %}"></script>
          </head>
          <body>
              <div class="container">
                  <div id = "login">
                      <form class="form">
                          <h2><img src="{% static "imags/mainlogo.png" %}"></h2>
                          <h2>學(xué)生信息管理系統(tǒng)登錄</h2>
                          <hr>
                          <hr>
                          <div class="form-group">
                              <label for="user">用戶名:</label>
                              <input type="text" class="form-control" placeholder="請(qǐng)輸入用戶名" id="user">
                          </div>
                          <div class="form-group">
                              <label for="password">密碼</label>
                              <input type="password" class="form-control" placeholder="請(qǐng)輸入密碼" id="password">
                          </div>
                          <div class="form-group">
                              <div class="checkbox">
                                  <label>
                                      <input type="checkbox">請(qǐng)記住我
                                  </label>
                              </div>
                          </div>
                          <button id="submit01" class="form-control">提交</button>
                      </form>
                  </div>
              </div>
          </body>
          </html>

          將以上 html 文件保存在 templates 中,在 views 中配置好方法,urls 中配置好路由,最后在 settings 中配置好靜態(tài)文件路徑,最后啟動(dòng) Django 服務(wù)器,頁(yè)面顯示效果如下:

          效果演示:

          登錄頁(yè)面案例演示


          最后

          本節(jié),我們介紹了 Django 中 templates 的知識(shí),Django 加載 HTML 方法、模板的語言的使用,以及加載靜態(tài)文件的方法。希望大家多多練習(xí),才能鞏固所學(xué)的知識(shí)。下一節(jié)我們將繼續(xù)介紹 Django 中 URL 跳轉(zhuǎn)的知識(shí)!

          感謝大家的閱讀!

          發(fā)送郵件的過程中我們經(jīng)常會(huì)將表格放在郵件的正文中,那么怎么用UiPath來實(shí)現(xiàn)這個(gè)功能呢?表格與文字的格式不同,用文字的格式自然無法識(shí)別表格,UiPath給出的解決方案是:將郵件正文的內(nèi)容html(超文本標(biāo)記語言)化,html顯然比一般的文本要高級(jí),具體的實(shí)現(xiàn)步驟如下:

          1.新建一個(gè)序列流程并取名,在“活動(dòng)”欄搜索“excel”;

          2.選擇“Excel應(yīng)用程序范圍”;

          3.拖入到序列中輸入需要發(fā)送的excel文件路徑及名稱,置于英文引號(hào)下,或者通過文件夾找到相應(yīng)的文件選擇即可。如果該文件打開或編輯時(shí)需要密碼通過,則在“屬性”>“文件”選項(xiàng)內(nèi)填入并置于英文引號(hào)內(nèi)即可;

          4.選擇“Excel應(yīng)用程序范圍”中的“讀取范圍”并拖入到序列中;

          5.確認(rèn)需要讀取的excel頁(yè)面及范圍;

          6.在“屬性”欄輸出數(shù)據(jù)表中,右鍵新建變量,并取名DT;

          7.在“屬性”欄選項(xiàng)中選中“添加標(biāo)頭”;

          8~13.在“活動(dòng)”欄搜索“創(chuàng)建文件”,拖入到序列,確認(rèn)存儲(chǔ)的路徑,在“屬性”欄名稱行,右鍵新建變量,并取名bodypath;點(diǎn)擊“變量”,填入默認(rèn)值“body.txt”;

          14~17.在“活動(dòng)”欄搜索“序列”,拖入到流程中,再搜索“附加行”,拖入到序列中,文本行編輯:"<html><body><table border=1>",在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇);

          18~20.在“活動(dòng)”欄搜索“序列”,拖入到流程中,再搜索“附加行”,拖入到序列中,在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇),文本輸入"<tr>";

          21~24.在“活動(dòng)”欄搜索“遍歷循環(huán)”,拖入到流程中,分別輸入col/DT.Columns(“屬性”雜項(xiàng)中TypeArgument選擇:System.Data.DataColumn);然后在“活動(dòng)”欄搜索“附加行”,拖入到正文中,文本欄編輯:String.Format("<th>{0}</th>",col.ColumnName);在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇);

          25~28.在“活動(dòng)”欄搜索“附加行”,拖入到流程中在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇),文本輸入"</tr>";

          29~34.在“活動(dòng)”欄搜索“序列”,拖入到流程中,再搜索“每一行”,拖入到序列中,分別輸入:CurrentRow/DT(先前數(shù)據(jù)輸出變量,輸入D,從下拉菜單選擇DT);再搜索“附加行”,拖入到正文中,在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇),文本輸入"</tr>";

          35~39.在“活動(dòng)”欄搜索“遍歷循環(huán)”,拖入到流程中,分別輸入col/DT.Columns(“屬性”雜項(xiàng)中TypeArgument選擇:System.Data.DataColumn);然后在“活動(dòng)”欄搜索“附加行”,拖入到正文中,文本欄編輯:String.Format("<td>{0}</td>",CurrentRow(col.ColumnName).ToString);在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇);

          40~43.在“活動(dòng)”欄搜索“附加行”,拖入到流程中在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇),文本輸入"</tr>";

          44~47.在“活動(dòng)”欄搜索“附加行”,拖入到流程中在屬性欄編輯:選擇False,文件名行bodypath(輸入body在下拉菜單選擇),文本輸入"</table></body></html>";

          48~51.在“活動(dòng)”欄搜索“讀取”,選擇“讀取文本文件”,拖入到流程中在屬性欄編輯:文件名行bodypath(輸入body在下拉菜單選擇),輸出位置欄右鍵新建變量取名body;

          52~56.在“活動(dòng)”欄搜索“outlook”,選擇“發(fā)送Outlook郵件消息”,拖入到流程中;目標(biāo)輸入接收人郵箱,放置在英文引號(hào)間;標(biāo)題輸入郵件標(biāo)題,放置在英文引號(hào)間;正文編輯:"Hi,All,<br/>"+body+"<br/>BR<br/>姓名";再在屬性欄勾選“正文是Html”即可。

          備注:Html正文中"<br/>"代表?yè)Q行,需要其他信息直接在正文編輯即可。

          調(diào)試運(yùn)行后,即可以將表格在郵件正文中展示了,試試吧。


          主站蜘蛛池模板: 中文精品一区二区三区四区| 高清国产AV一区二区三区| 久久AAAA片一区二区| 国99精品无码一区二区三区| 美日韩一区二区三区| 一区二区在线电影| 中文字幕精品无码一区二区| 国产一区在线视频观看| 亚洲字幕AV一区二区三区四区| 伊人久久精品无码av一区| 色视频综合无码一区二区三区| 亚洲AV无码一区二区三区久久精品| 一夲道无码人妻精品一区二区| 一区二区三区AV高清免费波多| 四虎成人精品一区二区免费网站 | 奇米精品视频一区二区三区| 乱中年女人伦av一区二区| 濑亚美莉在线视频一区| 无码一区二区三区在线| 中文字幕乱码亚洲精品一区| 国产精品福利一区二区| 国产福利一区二区三区在线视频| 无码精品一区二区三区在线| 午夜天堂一区人妻| 美女视频在线一区二区三区| 中文字幕永久一区二区三区在线观看| 黄桃AV无码免费一区二区三区| 国产精品小黄鸭一区二区三区 | 中文字幕一区二区三区在线不卡| 国产伦一区二区三区高清| 亚洲国产成人久久一区WWW | av无码人妻一区二区三区牛牛| 国产精品乱码一区二区三区 | 日本视频一区二区三区| 日亚毛片免费乱码不卡一区| 国产伦精品一区二区三区视频金莲| 亚洲日本中文字幕一区二区三区| 国产精品福利区一区二区三区四区| 不卡一区二区在线| 日韩精品一区二区三区中文| 亚洲一区二区三区四区视频|