2013第五屆中國(臨沂)新能源汽車、電動車及零部件展覽會

主辦單位:中國國際貿易促進委員會臨沂市委員會、山東省環保產業協會、山東省環保產品認證中心 、臨沂市資源節約型環境友好型社會建設改革試點辦公室

承辦單位:臨沂市格益傳媒有限公司

抓住機遇2012 New energy vehicles Exhibition 激情魯南,物流業大市的優勢催生山東商業「二次飛躍」新格局2012 New energy vehicles Exhibition送給您一個千載難逢的商機!山東是國內第三大市場,臨沂是山東最重要的產品集散地,同時是國內第二大商貿城和物流之都,500公里半徑覆蓋華北市場,全國十大工業品市場中名列第三。作為魯東南中心城市,凝聚力、輻射力、帶動力逐步提升,現已成為全國繼江蘇、浙江、天津之後新崛起的電動車產業基地,山東省十大影響力產業集群。

「一年之計在於春」,由格益傳媒有限公司承辦的「第五屆中國(臨沂)新能源汽車、電動車及零部件展覽會」定於2013年4月舉行, 4月既是商家銷售產品的有利時機也是商家採購產品的旺季,同時也是廠家促銷產品、推出新品、打造品牌的最佳時機。在這個時候新能源電動車及零部件展覽會有利於促進廠商之間的交流,實現共同發展。我們誠摯的邀請廣大新能源電動汽車、電動車及零部件廠商到商貿物流城-臨沂參展、參會,共享成功展會帶來的巨大商機!

【展會日程安排】展覽時間: 2013年4月19-21日 閉幕撤展時間:2013年4月21日下午15:00
  
【參展範圍】新能源車輛展區:整 車:電動(混合動力)汽車、電動旅遊觀光車、電動高爾夫車,電動吉普車、太陽能電動車、電動客貨車、電動清潔車、電動叉車、電動升降車;氫能源、天然氣等各種新能源車輛;各種低排放、環保節能型汽車臨沂特色電動客運三輪車展區電動兩輪、三輪車展區:各類電動自行車、電動三輪車、燃油助力車及殘疾人專用電動車、電動滑板車等特種電動車特種車輛展區:清障車、環保車輛、改裝車輛等。配套電池、配件、零部件和相關技術資料展區

【收費標準】 國際標準展位:展位3m×3m 3600元 /個 國際標準展位(雙面開口) 4200元/個標準展位配套設施:三面或兩面展板、一張洽談桌、兩把椅子、兩盞射燈、一個220V的電源插座、參展單位楣板文字製作以及展館內衛生、安全保衛等。

特展:最少以36平方米起租,國內企業:400元/平方米,國外企業100美元/平方米;(註:室內空地無配套設施:展具由參展商自行設計搭建。)

【參展手續】◆填寫參展申請書,加蓋公章後郵寄或傳真至大會組委會,參展申請被接收後組委會將通過傳真或郵寄方式發放「參展確認書」確認您的申請;展位按「先報名,先分配,先付款」的原則安排。

◆申請被確認後7天內將所需費用匯入大會指定帳號,逾期不確認參展資格,展位按「先申請,先付款,先分配」的原則安排。

◆會前一個月組委會將協助參展企業完成參展後續服務。參展一經確認,參展商不得撤消參展和轉讓展位。因某種特殊原因或不可抗拒因素時,組委會有權將展期和展場更改,若因某種原因取消本次會議,參展商所交費用全部退回;

◆組委會根據現場實際情況有權對極少數參展企業的展位予以現場調整。

【展會特色及亮點】

1、通過山東省的宣傳媒體,在本地區進行密集宣傳推介;
2、各專業報刊、雜誌媒體宣傳推介本屆展會信息及互聯網推廣;
3、發函邀請各行業內專業協會、團體;並邀約海內外客商及中間商參觀;
4、山東省首家涉足新能源汽車展並連續成功舉辦四屆的專業展會;
5、山東省行業內唯一採用「大巴車免費迎接經銷商」參展模式的專業展會;
6、組委會同時組織了電動車行業發展論壇,資深業內專業人士深入探討交流;
7、組委會安排專人走訪市場並邀請安徽、江蘇、河南、河北、山東、浙江、天 津等地的電動車及零部件產業類生產企業,進一步廣泛邀請專業經銷商。
8、發函邀請友好城市政府機構、行業組織;

大會組委會聯繫方式:

聯繫人:2013第五屆中國(臨沂)新能源汽車、電動車及零部件展覽會組委會
電 話:0539-8059156 15725997759 15653999229 張經理
傳 真:0539-8059156

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※幫你省時又省力,新北清潔一流服務好口碑

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

TT electronics推出用於混合動力汽車的大功率電阻

 

TT electronics公司推出WPRT系列線繞功率徑向端子(Wirewound Power Radial Terminal)電阻,符合AEC-Q200標準,設計用於滿足包括混合動力汽車(Hybrid Electric Vehicle, HEV)的大功率應用的特殊要求。   隨著WPRT系列的推出,TT electronics現在已提供業界最廣泛的規格和配置。新電阻系列由高純度陶瓷棒和壓配 (force-fit) 端帽(end-cap)構成,其上纏繞著導線元件,而後使用防火絕緣接合劑將其放置在陶瓷容器內,因此,在規定的溫度和超載狀況下電阻能夠完全防火。   這款電阻產品採用針對浪湧性能而優化的獨特設計,使之成為電動汽車和電機驅動的理想選擇。WPRT系列根據最高容差標準製造,可以很好地適合汽車保護裝置,大大改進了裝配性能。   TT electronics高級應用工程師 Stephen Oxley 評論說:“WPRT系列瞄準工業、汽車和能源領域的特定需求,通過開發最廣泛的此種類別功率電阻,TT electronics正在實踐承諾,不但支援客戶的節能設計,同時消除開發定制功率電阻解決方案的風險、成本和複雜性。”   WPRT系列可用於HEV預充電和BDU放電應用,以及保護電機避免浪湧電流的損壞。此外,該系列採用了浪湧保護設計,也適用於UPS系統。   WPRT系列包含了從10W至50W的六種額定功率,對於WPRT50 (50W)器件,可耐受最大250W超載。TT electronics提供的這些電阻都符合E24標準電阻值。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※教你寫出一流的銷售文案?

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

※超省錢租車方案

※產品缺大量曝光嗎?你需要的是一流包裝設計!

Tesla升級超級充電站,20分鐘獲得近200公里續航里程

美國電動跑車製造商特斯拉((Tesla Motors Inc.)近日宣布,目前正在升級其計劃覆蓋全美和加拿大部分地區的超級充電站,使電能輸出升級到120Kwh,令特斯拉電動車充電20分鐘獲得近200公里的續航里程。

據美國獨立汽車分析師SalDemir介紹,120Kwh的高壓充電樁能以比公共充電樁快16倍的速度,在30分鐘內讓車擁有320公里的續航里程。特斯拉充電站的技術升級是從端口提高電壓而非更換設備,長期來說產生的費用很小。

近日,特斯拉首席技術官JB Straubel在接受《麻省理工科技創業》採訪時表示,公司正在致力於研發將充電時間降低到5分鐘的方案。雖然1年內不太可能實現,從長期來看肯定能夠達到這個目標。

獨立汽車分析師認為,隨著技術日趨提高,充電時間逐漸接近甚至超過加油速度。從使用習慣來看,換電池計劃未來最終會消失。

特斯拉CEO Elon Musk透露,他希望讓使用非特斯拉品牌的電動車用戶能免費使用超級充電站,意味著其他汽車公司每年會向特斯拉繳納使用費,甚至幫特斯拉建設充電站。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※幫你省時又省力,新北清潔一流服務好口碑

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

中國南車將進軍純電動公務車領域

據中國國資委官網的消息,為響應政府公用車、公交車要率先推廣新能源汽車的號召,中國南車研制了有“陸地公務艙”之稱的純電動中型公務車。日前,由中國南車旗下南車時代電動申報的“純電動中型公務車研制”項目入選2014年度國家科技支撐計劃,成為國家級新能源中型公務車重點支持項目。

而中國南車業務一直是以鐵路機車、客車、動車組的設計、研發制造、銷售為主的,此次卻將業務范圍拓展到了電動汽車領域。

據中國南車集團公司宣傳部部長曹鋼材表示:「其實,此次已經不是中國南車第一次涉及電動汽車領域了,因為,隸屬于南車的南車株洲電力機車研究所有限公司一直在做電動汽車的研發及應用。」

據了解,高端中型公務車的年需求量在20萬輛左右,市場總額在600億元-800億元之間,市場蛋糕前景誘人,但目前大都是外資品牌。

在今年兩會期間,公務車改革呼聲十分強烈,伴隨著各級機關「厲行勤儉節約」風氣的貫徹落實以及國家公務車採購標準修訂方案的出臺實施,公務車採購自主化堅冰正在消融。7月12日,國務院總理李克強主持國務院常務會議,會議要求,政府公用車、公交車要率先推廣新能源汽車,並明確了到2015年我國大力推廣新能源公務車的目標。 

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※教你寫出一流的銷售文案?

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

※超省錢租車方案

※產品缺大量曝光嗎?你需要的是一流包裝設計!

韓國發明可折疊電動汽車

全球不少大城市都面臨交通擁擠,停車位嚴重不足的問題。而韓國近日研發一款可折疊電動汽車,減少樂停車時佔據的空間。

據韓國科研人員介紹,這款稱為Armadillo-T的車子可搭載兩個人,最高速度為每小時60公裏,充電10分鐘可走100公裏。駕駛員還可利用智能手機應用程序,在車子外部發出折疊或展開指令。

據了解,Armadillo-T在停車時會以車體中心為軸抬起後輪,使得車子佔位長度從2.8公尺縮短到1.65公尺。一個普通停車位可放置三輛Armadillo-T汽車,而且它可在停車狀態下旋轉360度,停放在普通車輛不能停放的地方。

為安全起見,設計師還將傳統的後視鏡置替換為環繞視圖攝像頭。然而,由于Armadillo-T未達韓國公共交通安全準則,如無法承受猛烈撞擊,因此無法在街道上行駛。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※幫你省時又省力,新北清潔一流服務好口碑

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

江淮汽車否認與特斯拉成立合資公司

早前有證券網站的消息稱,江淮汽車擬與特斯拉在合肥成立電動汽車合資公司,項目總投資額為50億元,雙方各持50%股權。報導還稱,江淮汽車還將以幾乎全部的插電式混合動力汽車資產和業務作為出資投入合資公司,而特斯拉將以現金出資,並為合資公司提供某些工業產權。

對此,江淮董事會秘書馮梁森與特斯拉中國銷售總監沈琪都表示,並無此事。

而除了江淮,比亞迪也是特斯拉的傳聞合作對象。雖然特斯拉CEO穆斯克與比亞迪掌門王傳福互相看輕,但比亞迪得到巴菲特的垂青,業界并不排除這兩家公司的合作可能。

另外,中國的零部件供應商同樣躍躍欲試。其中,成飛集成就曾表示,會積極尋求與特斯拉的合作機會。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※教你寫出一流的銷售文案?

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

※超省錢租車方案

※產品缺大量曝光嗎?你需要的是一流包裝設計!

TensorFlow中讀取圖像數據的三種方式

  本文面對三種常常遇到的情況,總結三種讀取數據的方式,分別用於處理單張圖片、大量圖片,和TFRecorder讀取方式。並且還補充了功能相近的tf函數。

1、處理單張圖片

  我們訓練完模型之後,常常要用圖片測試,有的時候,我們並不需要對很多圖像做測試,可能就是幾張甚至一張。這種情況下沒有必要用隊列機制。

import tensorflow as tf
import matplotlib.pyplot as plt

def read_image(file_name):
    img = tf.read_file(filename=file_name)     # 默認讀取格式為uint8
    print("img 的類型是",type(img));
    img = tf.image.decode_jpeg(img,channels=0) # channels 為1得到的是灰度圖,為0則按照圖片格式來讀
    return img

def main( ):
    with tf.device("/cpu:0"):
         # img_path是文件所在地址包括文件名稱,地址用相對地址或者絕對地址都行 
            img_path='./1.jpg'
            img=read_image(img_path)
            with tf.Session() as sess:
            image_numpy=sess.run(img)
            print(image_numpy)
            print(image_numpy.dtype)
            print(image_numpy.shape)
            plt.imshow(image_numpy)
            plt.show()

if __name__=="__main__":
    main()

"""
輸出結果為:

img 的類型是 <class 'tensorflow.python.framework.ops.Tensor'>
[[[196 219 209]
  [196 219 209]
  [196 219 209]
  ...

 [[ 71 106  42]
  [ 59  89  39]
  [ 34  63  19]
  ...
  [ 21  52  46]
  [ 15  45  43]
  [ 22  50  53]]]
uint8
(675, 1200, 3)
"""

   和tf.read_file用法相似的函數還有tf.gfile.FastGFile  tf.gfile.GFile,只是要指定讀取方式是’r’ 還是’rb’ 。

2、需要讀取大量圖像用於訓練

  這種情況就需要使用Tensorflow隊列機制。首先是獲得每張圖片的路徑,把他們都放進一個list裏面,然後用string_input_producer創建隊列,再用tf.WholeFileReader讀取。具體請看下例:

def get_image_batch(data_file,batch_size):
    data_names=[os.path.join(data_file,k) for k in os.listdir(data_file)]
 
    #這個num_epochs函數在整個Graph是local Variable,所以在sess.run全局變量的時候也要加上局部變量。  
    filenames_queue=tf.train.string_input_producer(data_names,num_epochs=50,shuffle=True,capacity=512)
    reader=tf.WholeFileReader()
    _,img_bytes=reader.read(filenames_queue)
    image=tf.image.decode_png(img_bytes,channels=1)    #讀取的是什麼格式,就decode什麼格式
    #解碼成單通道的,並且獲得的結果的shape是[?, ?,1],也就是Graph不知道圖像的大小,需要set_shape
    image.set_shape([180,180,1])   #set到原本已知圖像的大小。或者直接通過tf.image.resize_images,tf.reshape()
    image=tf.image.convert_image_dtype(image,tf.float32)
    #預處理  下面的一句代碼可以換成自己想使用的預處理方式
    #image=tf.divide(image,255.0)   
    return tf.train.batch([image],batch_size) 

  這裏的date_file是指文件夾所在的路徑,不包括文件名。第一句是遍歷指定目錄下的文件名稱,存放到一個list中。當然這個做法有很多種方法,比如glob.glob,或者tf.train.match_filename_once

全部代碼如下:

import tensorflow as tf
import os
def read_image(data_file,batch_size):
    data_names=[os.path.join(data_file,k) for k in os.listdir(data_file)]
    filenames_queue=tf.train.string_input_producer(data_names,num_epochs=5,shuffle=True,capacity=30)
    reader=tf.WholeFileReader()
    _,img_bytes=reader.read(filenames_queue)
    image=tf.image.decode_jpeg(img_bytes,channels=1)
    image=tf.image.resize_images(image,(180,180))

    image=tf.image.convert_image_dtype(image,tf.float32)
    return tf.train.batch([image],batch_size)

def main( ):
    img_path=r'F:\dataSet\WIDER\WIDER_train\images\6--Funeral'  #本地的一個數據集目錄,有足夠的圖像
    img=read_image(img_path,batch_size=10)
    image=img[0]  #取出每個batch的第一個數據
    print(image)
    init=[tf.global_variables_initializer(),tf.local_variables_initializer()]
    with tf.Session() as sess:
        sess.run(init)
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(sess=sess,coord=coord)
        try:
            while not coord.should_stop():
                print(image.shape)
        except tf.errors.OutOfRangeError:
            print('read done')
        finally:
            coord.request_stop()
        coord.join(threads)


if __name__=="__main__":
    main()

"""
輸出如下:
(180, 180, 1)
(180, 180, 1)
(180, 180, 1)
(180, 180, 1)
(180, 180, 1)
"""

  這段代碼可以說寫的很是規整了。注意到init裏面有對local變量的初始化,並且因為用到了隊列,當然要告訴電腦什麼時候隊列開始, tf.train.Coordinator 和 tf.train.start_queue_runners 就是兩個管理隊列的類,用法如程序所示。

  與 tf.train.string_input_producer相似的函數是 tf.train.slice_input_producer。 tf.train.slice_input_producer和tf.train.string_input_producer的第一個參數形式不一樣。等有時間再做一個二者比較的博客

 3、對TFRecorder解碼獲得圖像數據

  其實這塊和上一種方式差不多的,更重要的是怎麼生成TFRecorder文件,這一部分我會補充到另一篇博客上。

  仍然使用 tf.train.string_input_producer。

import tensorflow as tf
import matplotlib.pyplot as plt
import os
import cv2
import  numpy as np
import glob

def read_image(data_file,batch_size):
    files_path=glob.glob(data_file)
    queue=tf.train.string_input_producer(files_path,num_epochs=None)
    reader = tf.TFRecordReader()
    print(queue)
    _, serialized_example = reader.read(queue)
    features = tf.parse_single_example(
        serialized_example,
        features={
            'image_raw': tf.FixedLenFeature([], tf.string),
            'label_raw': tf.FixedLenFeature([], tf.string),
        })
    image = tf.decode_raw(features['image_raw'], tf.uint8)
    image = tf.cast(image, tf.float32)
    image.set_shape((12*12*3))
    label = tf.decode_raw(features['label_raw'], tf.float32)
    label.set_shape((2))
    # 預處理部分省略,大家可以自己根據需要添加
    return tf.train.batch([image,label],batch_size=batch_size,num_threads=4,capacity=5*batch_size)

def main( ):
    img_path=r'F:\python\MTCNN_by_myself\prepare_data\pnet*.tfrecords'  #本地的幾個tf文件
    img,label=read_image(img_path,batch_size=10)
    image=img[0]
    init=[tf.global_variables_initializer(),tf.local_variables_initializer()]
    with tf.Session() as sess:
        sess.run(init)
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(sess=sess,coord=coord)
        try:
            while not coord.should_stop():
                print(image.shape)
        except tf.errors.OutOfRangeError:
            print('read done')
        finally:
            coord.request_stop()
        coord.join(threads)


if __name__=="__main__":
    main()

  在read_image函數中,先使用glob函數獲得了存放tfrecord文件的列表,然後根據TFRecord文件是如何存的就如何parse,再set_shape;這裡有必要提醒下parse的方式。我們看到這裏用的是tf.decode_raw ,因為做TFRecord是將圖像數據string化了,數據是串行的,丟失了空間結果。從features中取出image和label的數據,這時就要用 tf.decode_raw  解碼,得到的結果當然也是串行的了,所以set_shape 成一個串行的,再reshape。這種方式是取決於你的編碼TFRecord方式的。

再舉一種例子:

reader=tf.TFRecordReader()
_,serialized_example=reader.read(file_name_queue)
features = tf.parse_single_example(serialized_example, features={
    'data': tf.FixedLenFeature([256,256], tf.float32), ###
    'label': tf.FixedLenFeature([], tf.int64),
    'id': tf.FixedLenFeature([], tf.int64)
})
img = features['data']
label =features['label']
id = features['id']

  這個時候就不需要任何解碼了。因為做TFRecord的方式就是直接把圖像數據append進去了。

參考鏈接:

  https://blog.csdn.net/qq_34914551/article/details/86286184

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※幫你省時又省力,新北清潔一流服務好口碑

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

Magicodes.IE在.NET Core中通過請求頭導出多種格式文件

前言

在2.2里程碑中我們增加了一些新的功能,正如標題所寫通過請求頭進行導出我們不同格式的文件.下面我們來看一下如何使用.通過這種方式無論是對我們的數據多用途,還是說對我們的數據校驗都做到了輕鬆易配。

同時我們也將在本周發布2.3版本,另外3.0版本我們將進行一次大的性能提升。3.0版本我們將對Razor引擎以及導出引擎進行更換,包括對所有代碼的重構,這是值得期待的。

上周我們發布了2.2.5版本更新如下:

  • 【Nuget】版本更新到2.2.5

  • 【Excel導出】增加分欄、分sheet、追加rows導出 #74

    - exporter.Append(list1).SeparateByColumn().Append(list2).ExportAppendData(filePath);
    - exporter.Append(list1).SeparateBySheet().Append(list2).ExportAppendData(filePath);
    - exporter.Append(list1).SeparateByRow().AppendHeaders().Append(list2).ExportAppendData(filePath);
    
  • [Excel導出】修復‘IsAllowRepeat=true’ #107

  • [Pdf導出】增加PDF擴展方法,支持通過以參數形式傳遞特性參數 #104

    - Task<byte[]> ExportListBytesByTemplate<T>(ICollection<T> data, PdfExporterAttribute pdfExporterAttribute,string temple);
    - Task<byte[]> ExportBytesByTemplate<T>(T data, PdfExporterAttribute pdfExporterAttribute,string template);
    

主要步驟

1.安裝包

Install-Package Magicodes.IE.AspNetCore

2.開始配置

Startup.cs的Configure()方法中,在UseRouting()中間件之後,註冊如下中間件

public void Configure(IApplicationBuilder app)
{
    app.UseRouting();
    app.UseMagiCodesIE();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

上面這種以中間件形式可以為我們提供導出服務,那麼我們再看一下另一種方式如下所示:

  public void ConfigureServices(IServiceCollection services)
            {
                services.AddControllers(options=>options.Filters.Add(typeof(MagicodesFilter)));
            }

上面兩種方式都可以為我們提供導出服務,我們只需要對我們的控制器進行配置我們的特性,在這邊呢 特性主要做的是一個標識作用,標識他的一些相關的內容數據,同時標識他可以當成文件導出。

[HttpGet("excel")]
[Magicodes(Type = typeof(ExportTestDataWithAttrs))]
public List<ExportTestDataWithAttrs> Excel()
{
    return GenFu.GenFu.ListOf<ExportTestDataWithAttrs>(100);
}

上面代碼片段中我們標識這個類允許被導出。同時我們需要通過Type指定我們被導出類的類型。

這樣填寫完后我們可以通過對該地址的調用,但是注意我們必須要添加請求頭以標識被導出的文件類型。如果不添加請求頭,那麼此處將返回的還是json格式的數據。請求頭名稱為Magicodes-Type

       /// <summary>
        ///     XLSX
        /// </summary>
        internal const string XLSXHttpContentMediaType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        /// <summary>
        ///     PDF
        /// </summary>
        internal const string PDFHttpContentMediaType = "application/pdf";
        /// <summary>
        ///     DOCX
        /// </summary>
        internal const string DOCXHttpContentMediaType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        /// <summary>
        ///     HTML
        /// </summary>
        internal const string HTMLHttpContentMediaType = "text/html";

如果說是模板導出word或者pdf甚至說html文件那麼我們也是同樣的操作如下所示:

[HttpGet("Word")]
        [Magicodes(Type = typeof(ReceiptInfo), TemplatePath = ".//ExportTemplates//receipt.cshtml")]
        public ReceiptInfo Word()
        {
            return new ReceiptInfo
            {
                Amount = 22939.43M,
                Grade = "2019秋",
                IdNo = "43062619890622xxxx",
                Name = "張三",
                Payee = "湖南心萊信息科技有限公司",
                PaymentMethod = "微信支付",
                Profession = "運動訓練",
                Remark = "學費",
                TradeStatus = "已完成",
                TradeTime = DateTime.Now,
                UppercaseAmount = "貳萬貳仟玖佰叄拾玖圓肆角叄分",
                Code = "19071800001"
            };
        }

我們還是需要對其指定Type,然後通過TemplatePath進行指定模板地址即可

同樣的我們還可以通過請求頭進行標識本次請求是否是文件格式導出。


        [HttpGet("pdf")]
        [Magicodes(Type = typeof(BatchPortraitReceiptInfoInput), TemplatePath = ".//ExportTemplates//batchReceipt.cshtml")]
        public BatchPortraitReceiptInfoInput Pdf()
        {

            var input = new BatchPortraitReceiptInfoInput
            {
                Payee = "湖南心萊信息科技有限公司",
                SealUrl =
                @"data:image/jpeg;base64,R0lGODlheAB4APcAAEMAAPf395mZmZJQUPUBAdbW1swAAP+Zma0AAISEhPUqKry8vMwqKpkAAP9SUv97e64wMP+ZzElJSeBRUf/N4+F6esOgoPD///cREc8YGO/v7/dDQ2YAANJTU/9mZtk5Oc5+frMPD94AAPju7tS/v6Wlpe6traMYGO/Pz99ra3d3d+XW1syZmWMQEP/98NOTk+8bG/bm5v+MjNBCQvYZGf9mZsR0dMzMzN8PD/bFxfc5OeEoKPcICL0AAOFhYZx8fPi9vcFRUbBAQKysrHUAAP///+AYGM4QEOjFxe9DQ2YzM++MjMysrLQgIPbe3lsAAPd6eqUAALyMjOVCQsOvr/Gmprlpaebm5twICPYwMPZJSe23t6FhYd7e3vohIatra/Vra1IAAP+FhaaGht0xMcxmZvfX184ICP9aWutZWY8REfRkZOU6OsU4OIMbG+x8fMXFxcUQEN4gIO8QELwICP/398BhYcwzM7UAAOmcnMNDQ7W1tf/MzIyMjKhQUN1ISO8ICP+lpf8ICPhTU4MAAOSSkswgIOxsbNhsbOcAAGkgIOCwsPAhIbuAgN/AwOXf397Pz+4qKp2NjecyMsuLi//v76t7e5ODg4cwMLUcHNycnKMrK/8QEP+1tWMICOKMjOdKSv86OtYAALMwMLOQkPZycteEhP8ZGcQAAP8hIbdhYZkAAP8pKf/m5v9KSvBRUX4NDfaWlv/e3sMYGP+trb4hIcy8vO7f3+V0dOYZGfaFhapwcOUICOYgILxBQf8zM+bQ0PJLS/+9vcWUlLwQELpaWv/Fxf9zc7MICP9CQtivr9YwMOjAwPdZWe8AAMlJScSkpOdjY/A6OtUREdhYWHQQEKEgINYnJ9YJCZtbW+coKP8AAOYPD86FhduysvikpNQZGf/W1rV1dfCDg7hSUuajo946Ou8yMtSkpNRkZMYHB/FxcY19ffbNzeKCgsi4uPmMjEsAANO1tdhAQNNzc8AwMMQgIPm0tOZQUL0XF9QgIMKCgrVBQe6Vlbl5efatrSH5BAQUAP8ALAAAAAB4AHgAAAj/AIsIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmOfGiJOZYsWaptMGOmanlMDC0+J3NCrESLpaBTv1x5kEHLmKw6Req0kmWM1oFjDlhxEpTsGK1KOrMSlCXjlyBWHmi1otiKlgepv2TI0mqyUleqB8YerIQ0YqsDyTilxcr2Ix8P20LRUlhHjINkHg4YrVvJiZOFd716wNlXo7C8HsIxpOUg1C9WoBkZMRKJzQdHDsOhoSqsssXLqcTIbfgNTSoMgABho6OHjByJlR6cStba9U4PnI7NfhhOATd7LBxpKBItBUVZxzh54Gt8oQxODpZD/+ykII41a0d2VJJWzmI4B6dkdE8oKxmr4gLDiV9YSUEGSkUkoUMruSCBES3DrTUfQQekcgx3An2zRkSdnDMFFNu1I8IIGbXiwSmBLCgQcp0cVIcOxjhUiTE8fZPDCE70I4IjIICAmooCtaLZQJ2c4sF8lQSl4EE9DXQUQoGg0ZkX3MRBBx0GRImAKtM11EkyD4jxixdvbOUZhFrxccqDA4UjRopJBRKIK3zIkAwjaSDUGSun8GBAFFE0oQcxCJDAkDDF1eGKK1vOgU2VOTrACWVhcvJAQR4cRhcayXzGypY4dJBQOFrwYKcFA+kRBSQM/fKLLgLR4goMvKgzCqIDff/HaE60sBJiQbQkE4oMwtDJCQ005KCDCEcoNA5uIhgwj0CfINNQKKx4IYZq0sSBQAPiICQGJ4PRKki3BomRzCl15EYABlUk0Q43BmiSkBNz8JCEO6IwU0QecTR0gBf8spJFBids0gACiyBEC7cniXmrnBj48IIBIjhzzzlLoHCHIQoFA8gceRgATBFVZODQNwpggBsqoDIUyCmzhqQwQrJ0wocxc8ShgR0QTwLMEcrY0YNCOfAiQgejPAIyOA/BC4gIPURRzycoBKCQDCyPVAknYiTkChquVJIEHqCmIAoq++xDDgmkKrTFPEFAskIa60wDESO8eONNI/y0cYQcEyb/9AAnYHb0yzF1HXRAFjS8wgwCEAjETAfoFFEPExEBwQbGD32Dgx6wMlQHGr+E5EEyDJXCiwGQ8IOA0QQBU0vnDI3AoUOtBFAIOOC8sNMvP3rU4I4LuTPDIyQgEHlBwKTj8hoTjkBGDzNAFE4qC2skC8IRGWLHQbeE1IkrOnwzRRxR1BJRIJwMmVFVE1XQhntmRCTLZ6B0MwzrEVG6kQysFA7RLcWqiC5iIBEw5KIM+ANOfDJyNfxEBBf5okg40oACiQTgDz1QhkV6FDiJRKoiAdAdRWiBD+uwxQG9q4gwBKG+nMhgDWSYXUn4gIbe8YETDpQI+8J0ACgsowIlcUtn/xgRvyKMToWAE4gxDkCLTqBpIMbohFOeiBEZHKAU14iDDEEiDK79ggZYaE8RWiGIHD4ES1AUQ5YUA8UDqPFMReigXayIRTyI8COtgIoOGDGH093IiKSTiJhm04mV1IQWD0ikSo5RkxJlpBMHkEEaZoEA830kEM1IQi+mQYc73KEHfyRjyxrigd5hpZDHEMANbnCAVq5SAI3UiBhkAIU/8AkP7uJIHkFxjSOogx+PgIQB1KHBgaAwIpUQBPCK0AkBCMAF0IxmNJ3pyIuEQwYyEMMkEYAAPXBEGGsABQNsAIlaWJIN0zAFQfggCDkiRAahIIgzpUlPaTqzitiUARgMwf9NUGrEGK+IBhsCWAE5BKAVSZiGpgjCCvk85BcHGMgz60nRaVqkErPE5j7xwNEyaCQJBVuCEbZQBCec4xyTWMYZUAGrrjxEFu0UyEQrSlMBqDCf+jQERznavY305xX/AIU+4oAODaQAG4UgSCvS5xAZrLIIM6VpTYvwVIjgNKc7xQM9OgIPBZijGzaggzyKMIJe7KAgu3LIDS5wgahKtaZsvcFD7oJTLeh0p8SAXUViIY0dzGI65tBUHYIBjqTGKnQMqcRa2/rWxgogrg9RUyuxeQocZLUHd7xoKZYQAySgQlOySAIUBrEDYnhzIGR050AW61YXSEACNH1tPR97Abn/KqQSleBDIGgRiFYChgA9CG5wwZEGDwSiE8jlQyuW28KEHAA/S+iFhKZgDgaEoAH7KEgqwJUQ1kYzAi6IgGwr+lrwgheatJXrcsMhDJWIoZTHWONueXsAV8CEacE9gxEUkAwHoOG//3WAKyplKh2kIRr32BRS2iGNSTAgH/WwgQUSKBAHHGMh3nUBBSKwYQo0VsMc5rALbpDeRDKylPCN7yyZSAunnAImBEAFKs6AA0boYGsADnBLkjGJSdyhCTZIiDH4UIclTCIDmVCFn5wbSISsda0z9bCH6wnbekoZmiSubW1NjGIPMDKR2NztmmKyjUQYABu54K9/c4wGLbCB/wwMOIEa1AANhcBjHHfIRBteoNeCyGIbClklW1tL0SpLNcu1vUEzFj2IGno5vlmyYn3JDBNncMPG/f3vIEDxhz/cwRpqgAUHOJCyhOBiFk0odUMWpRBavPLDhqYpiVcZiV70Qg64loYWBuGBRD6glK54MaVjgoFLJWMDU2iDNdzghmo8IQxhqEbaFBKAFUhkuwoRgyug+uEPk1ggQNAGDqJkgGkYQRu7Htew101pYlQjDACINwDi0YJpeyQUWUsII7nd7UN/WyBmuAa5o4QNI8yB3QiHCR7gLe94K4HCHfGyQpLhUEL3G8s2JcgIljFwUXjcGQlfNx6eEI+GA0AJff/eiLgmXhyL9/uVB/GBx0WBjZpjA+Qhj0kPng3teIdhACnfCF4UkgrgubyxMEdIObCABZtjAweAyHmZOcBzaIeBCybpRCoUso3lHL2iq/x3QpBgBByYHQe5yIUgco6HUT/h7U+wRMIAnZBtgGmeSA/7PRkSgymMBgaMYAQGct6AURte1ST5M9cR4kxVhv3xet+7QwJwiEhEIgtZYAXhicB5IuzCZXIRhlwqQXeEbMN/Bmm86lVPkXboQAct+UXOo0CI2hPCDxhxYCs6IYwg6aAIwngFPgRCeq7vZyT1dYDyk5HzazXg+SGwpgfGUt8Bf4YGcygCGMhwBoEovu7NHcn/e1Fs35Dj4fnot7dEAuGBQpqKFTTAgKek8Q8dgMMeAuFD6Q+SCiqWBA0n5gGDABOJcH7PhwA9YAAgZwDo93wAUhFcczhz0EdMlwgWOAcwcAQgkCpblxDJwF0kUQmMNIKgwAtRYHhEQAjohwAGkAh48oJBQBF1IAsO8AvBIAIyZwqI0AtYECVYwAtHUCVuMnEOhRBUcIRImIRUMBF84GsPUApk4AZvN2opqIJRwE3c9IJRgAcU4QGm4gU8kAjlwAyfAArjYAAQYAM/aAhV8gBNdhD7dhBKOIdJGBGIlEilQA3W4AlwxwFV2ABXuFMIoIV/JBE6MAfRkAhAUAWv4AVA/4AK5FAEjAAD6hCDRQCA2eYARkiHdBgRMuBr1LAJnmB1T+CHtYcnWYUHWriBFIEPGeAIIsAMG6AFc4AEBpAOAaADO4AMTSAQyZBvBsMKCsGJSDgRkHYIEDCKpFgNFqAB4sBNeCBcPTCIeOILFfEJxFAEvJAIjNALM+AIBoAFMLAD+QABaYNtCXFDJyGCjNQBbmB1YfAEQDcQwKAH0tgDeICFCBB0CjECHeAEJoADotA0JIAK9GAKdMAPBCEIo1QQ7dQKqPcRwsBIE7CHVqcIS2gQi2AI0piPg1hMFjEC9MA4RUA2j4AACpkj+4cQHxhHJPEU0SCK0PYEu5ByI2AKcf+QVXgSZBlxC9NRBtkVB9YoEEO3EMeABkUgNSNRSjMAC/HoBku2ELdQBvjIUVEwCh0BDB+TDkNZBK5wYQtRKyVRB83wB9YwanIHEY7wSaoYBfxIEY4AkqcAgnMhCMfXEbIACnuICer3EJpADFHQAIjnEX+mWgMBUSTxDXfgBqRwERoAAlGgCiPxAIjFEPBEEtEQBBBHEbewPSLRUA4BU4aJEQUjIgsBU+GHEIhpmpWhJVYljKzJFnUAmg9BessUmyfRCTEFER6AlLipE8cUEex0l7/5EdfTkAyBRiERAMyplBHRnCRxRBMhDKmQmhcBBKHQDD6pAcz5ELQABjGgAdz/2ZzQuRHXY0ZnlEIc8Q0wsQ5XcAXc+RAPsA2cgALvGQvbsAbiOZ4aIZ0UIQysxhG5CBOacAMFAJ/OSW1QABOHUACQsAEw8QaPgKAZwU7oyZtvmBH4CRNs8AJwcKDxuRABoAUwwQRwEA0wwQPoYKAUahF1gBgYcTXVhBExwAmUNgG2AKIJehAa8GI8MAzDQGaMsAA30AUhWhEHkERVxArECREBAAbbwAPQIAXmABOMkKMtehAxQKIwgQEwABPaABP7sAAHuqPykwpFiBHJ4JsXkQMw4QNDUAICYAU8sA2MwAQF8Aj8SRABcAuaN2wfUAzboA0lsAc3AJ8WcRgcIQtz/3kRAaB5NLAHNhCmc0AGKfoCRYqgATAC8HAPa2CjKToD8bIM7HBwPyAAQwAHRmqmDnEAp2CdFIE+TcoQugATNFCnZPYBMQEKJACiGlCjwzYDudAG2ZAN17AN13AJqPqhWfoQ7FQ9GzE6s5oQOWCjjEBmuTADQSAAX5qiPkACXQCftUppuMpuNOAO4XqkDdEKMAoSv8CmTqp5PJAOGKANy7ALl/AFP9AHfdCtVloA4XoFELoNkxATuAYTucAFekBmPJCn6roQglKZH1EJp/AAEUltUMoDL8AD4tAHl6AHuPoMAiAJH4CrjPChXZCymjAM/gAT16ACQgATd9AGPNALH/9gBzYAAsz6sAhRB8gxmhdxQ2nKEPPJCehAD9sQqOUKE3YgACXwtEOwByibsjcwDIMXpUYAE76QAFxwDdfwBU4rtTraENuCnCgBIg8RCqewCHCQDuSaopZQAkMQtXtApHl6BV2AC7h6rBO4Db4gB2S2C4W6s6xaEK5qth5xMEOLEAGQAyuwAjdACTABA19wCcsAE8UQtgsAB6sEsO85DmT2BQmQAICborkAE1ZQqEXKswYhA9+iEwcTUSIaAHh7A3CAq32gCjHRB6hqtykLn+I5rnX6Bfx6rLmwC6SLrE5LpHpauAJRGI2aFWJCJtSmAbUrDZMbEzygrIaaruLZnCj/oAPuEAnbIA7O9AzbMAdBcKzbcKqpWqaEgRyIOxI3BK8HwZzW2wXuMGw8MAYlQKaaOhABYL03MAXbUAZPKwXDJgn/ewPNmxB1oCjzG4KmcpsGwZx4Cwo8YAPO9AP+K7WrahDWWwAvsA1TQLfkCwMz8AFksKzwixB8cClAWxJnEQgXSxAjDAd7EKdyK7bNKhAD3AUFkAY+sLlw8A6UsAdPK7dEGsKGox2miT5ocMNAPMK2uwCby6Ksm5QaIMRhVwAFcMV7ULeZyrM0yAnQOh/1gY6Mm79gDMbp2p1t/J4pW8dh3LlxXBB1EAgzAavGQTUOYMECLJ7v+Z7f67xVvJ+Es1zIhfywfOAKnLC4sVkJHiAI28G45FmeDJHJ+KvIcpwjq3HJxVkQl2HJ0woS4YAcxDHKCXEZ4DHBG1EHwqAoq8zKC/EXXyEGfnwRrSAGrGDJsGzLxNcVnLArpzxX/CMIeyHME8EVXpEKDhAXZCEDwbYNabHLzJxYPcF8gpAKoeAAD3AAMtMKuBUOUXQAD0AppyAIVGEVM5zNwrlILfESlDYTVWETwQzP+rzP/NzP/vzPOREQADs=",
                LogoUrl =
                @"data:image/png;base64,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",
                ReceiptInfoInputs = new List<BatchPortraitReceiptInfoDto>()
            };

            for (var i = 0; i < 500; i++)
                input.ReceiptInfoInputs.Add(new BatchPortraitReceiptInfoDto
                {
                    Amount = 22939.43M,
                    Grade = "2019秋",
                    IdNo = "43062619890622xxxx",
                    Name = "張三",
                    PaymentMethod = "微信支付",
                    Profession = "運動訓練",
                    Remark = "學費",
                    TradeStatus = "已完成",
                    TradeTime = DateTime.Now,
                    UppercaseAmount = "貳萬貳仟玖佰叄拾玖圓肆角叄分",
                    Code = "1907180000" + i
                });
            return input;
        }


        [HttpGet("Html")]
        [Magicodes(Type = typeof(ReceiptInfo), TemplatePath = ".//ExportTemplates//receipt.cshtml")]
        public ReceiptInfo Html()
        {
            return new ReceiptInfo
            {
                Amount = 22939.43M,
                Grade = "2019秋",
                IdNo = "43062619890622xxxx",
                Name = "張三",
                Payee = "湖南心萊信息科技有限公司",
                PaymentMethod = "微信支付",
                Profession = "運動訓練",
                Remark = "學費",
                TradeStatus = "已完成",
                TradeTime = DateTime.Now,
                UppercaseAmount = "貳萬貳仟玖佰叄拾玖圓肆角叄分",
                Code = "19071800001"
            };
        }

Reference

https://github.com/dotnetcore/Magicodes.IE

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※超省錢租車方案

※別再煩惱如何寫文案,掌握八大原則!

※回頭車貨運收費標準

※教你寫出一流的銷售文案?

FB行銷專家,教你從零開始的技巧

Model S爆出第三起電池起火事件 Tesla股價大跌

美國知名電動車大廠特斯拉 (Tesla)熱門車款 Model S,週三 (6 日) 傳出近日第三起電池起火事件,引發外界對於爭議性高的電動車輛安全再掀疑慮。Tesla 週三股價才因前日盤後發布第三季車輛銷售不如預期而下挫,週四股價再因上述消息大跌 7.53%,收 139.77 美元。

這起 Tesla 電池起火事件發生在美國田納西州的 Murfreesboro 市,駕駛者 Juris Shibayama 週三下午開著 Model S 駛過路上遺落的拖車掛鉤,因刺破了車輛的電池部位而造成車輛起火。所幸駕駛者在起火之前逃出,並未受傷。

據CNBC報導,這已是過去6 週 Model S 傳出的第 3 起電池起火事件。第 1 次事件發生在西雅圖,當時也是車輛駛過路上一大塊金屬物體,導致電池部分被刺穿而起火。美國國家公路交通安全管理局 (NHTSA)針對上述事件的立場是,他們正在監視情況發展,但並未展開正式調查。

而最新週三的這次車輛起火事件過後,NHTSA 仍表示目前處於搜集資料階段,將諮詢事發當局來確定事故是否與車輛安全相關。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※幫你省時又省力,新北清潔一流服務好口碑

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

英國三季度電動汽車銷量環比增25%

據英國媒體報導,第三季度英國電動汽車的銷量環比增長25%,電動汽車補貼登記數量達到1149台,創下2011年1月以來的最高記錄。

2011年1月,英國政府曾宣佈,在隨後的14個月中,只要用戶購買一輛低碳電動汽車,即將獲得高達5000英鎊的補貼。2012年,政府決定把對電動汽車的補貼措施延長到2015年。

不久前,雷諾—日產公司首席執行官卡洛斯•戈恩表示,2016年底之前,將實現不了150萬輛電動汽車的銷售目標,實現目標有可能是在2020年或2021年。他表示,政府對充電站建設的投入不到位,影響了電動汽車的銷售。

日產公司的純電動汽車「聆風」是政府補貼計畫下第一個受益的主要車型,並避開了英國執政聯盟預算縮減的風潮。

聆風由日產公司桑德蘭工廠生產,今年4月在挪威上市以後一炮打響,成為市場上最暢銷的汽車。當然,這部分得益於挪威慷慨的電動汽車減稅政策。

但是聆風也有不少競爭者,如通用雪佛蘭沃藍達在歐洲大陸的版本Vauxhall Ampera、相對便宜的雷諾Zoe和寶馬i3。此外,還有福特福克斯的電動汽車及特斯拉的豪華電動汽車。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※教你寫出一流的銷售文案?

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

※超省錢租車方案

※產品缺大量曝光嗎?你需要的是一流包裝設計!