多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > sybase > pb9中使用htmltable方式將數據窗口導出為excel文件的幾點看法

pb9中使用htmltable方式將數據窗口導出為excel文件的幾點看法

來源:程序員人生   發布時間:2013-11-15 10:59:24 閱讀次數:5355次
在PB9中可以通過(1)saveas(ls_path, excel!, true)將數據窗口中的data數據導出為excel,可以通過(2)saveas(ls_path, htmltable!, true)將數據窗口中的display數據導出為html格式的excel文件,也可以通過(3)saveasascii(ls_path)將數據窗口中的display數據導出為excel文件。 
     第(1)種方法導出的文件對于客戶來講,實際意義并不大。第(2)和第(3)中方法都存在一定的缺陷:第(2)種導出的xls文件,在導出前通過dw_1.modify("DataWindow.HTMLTable.Border='1'")設置htmltable顯示框線,來使得導出的excel文件包含邊框,但是導出的文件有可能顯示亂碼,而且對于以0為開頭的或者位數較長的純數字的字符串數據,導出后的數據會失真(如:單元格數據為:01001, 但是導出的xls文件打開時,數據卻為:1001;或者單元格數據為:123456789123456789, 導出的xls文件打開后,數據卻為:1.23457E+17);第(3)種導出的數據沒有框線,看起來也比較混亂,同時對于以0為開頭的或者位數較長的純數字的字符串數據,導出后的數據也會失真。
     本文主要介紹第(2)種方法,至于第(3)中,在(PB調用SaveAsAscii轉excel)這個鏈接上有關于以0為開頭的純數字的字符串數據的處理方法。
     在pb的datawindow中具有如下屬性dw_1.object.datawindow.data.htmltable, 該屬性值與通過saveas(ls_path, htmltable!, true)導出的excel文件的內容基本上是一致的。因此我們可以考慮通過取得該屬性值后,再將該屬性值filewrite的方式來保存為excel文件。
    在dw_1.object.datawindow.data.htmltable前面加上這一句'<META HTTP-EQUIV="Content-type" Content="text-html;charset=gb2312">',就可以保證最終filewrite后的excel不會顯示為亂碼。
    在dw_1.object.datawindow.data.htmltable前面加上這一句'<html xmlns:x="urn:schemas-microsoft-com:office:excel">',并且在dw_1.object.datawindow.data.htmltable中的'<table>'屬性中添加'x:str'屬性值,即可保證導出的數字按照原樣顯示。
    通過dw_1.object.datawindow.data.htmltable這種方式導出的excel文件中數據的字體大小默認為12號,字體默認為宋體,這個時候可以通過在'<table>'屬性中添加'style=~'font-size:9.0pt;font-family:"Times New Roman,serif;"~''屬性值來改變默認的字體為“Times New Roman”,默認字號為9號
    具體可以這樣處理:
[cpp]
string ls_htmldata 
ls_htmldata = dw_1.object.datawindow.data.htmltable 
//以下函數將ls_htmldata中的第一個'<table'替換為'<table x:str style=~'font-size:9.0pt;font-family:"Times New Roman,serif;"~'', 函數請自己完善 
str_replace(ls_htmldata, '<table', '<table x:str style=~'font-size:9.0pt;font-family:"Times New Roman,serif;"~'') 
ls_htmldata = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">~r~n' +& 
           '<META HTTP-EQUIV="Content-type" Content="text-html;charset=gb2312">~r~n' +& 
           ls_htmldata 
然后通過fileopen,filewrite ,fileclose 將ls_htmldata保存到(*.xls)excel文件中 
 
 
        這樣就可以既保證導出的xls文件不顯示亂碼,同時又能正確的顯示全數字的文本字段,再者改變默認字體為Times New Roman,默認字號為9號。
        另外導出的excel文件由于是html格式的,所以每次打開的時候速度會計較慢,我們可以在filewrite后,通過oleobject的方法將本次保存的文件用excel打開,然后再保存,這樣就可以保證導出的文件是名副其實的excel文件了。

摘自 yyoinge的專欄
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美性视频在线 | 色狠狠婷婷97 | 国产一国产一级毛片视频在线 | 亚洲高清免费在线观看 | 色中色欧美 | 亚洲精品第一页中文字幕 | 国产亚洲人成网站在线观看不卡 | 日本一区精品久久久久影院 | 亚洲伦理一二三四 | 日韩淫片| 免费女人18毛片a级毛片视频 | 国产欧美综合在线一区二区三区 | 久久在精品线影院精品国产 | 麻豆国产成人精品午夜视频 | 综合天堂| 性欧美video另类hd亚洲人 | 日韩欧美亚洲国产 | 精品久久一区二区三区 | 欧美xxxx做受欧美人妖 | 性生活视频网 | 国产精品福利在线观看免费不卡 | 国产九色在线 | 97欧美在线看欧美视频免费 | 欧美啪啪一级毛片 | 亚洲欧美一区二区三区 | 国产精品人人视频 | 中文字幕在线影院 | 国产日韩一区二区三区在线观看 | 欧美激情在线播放一区二区三区 | 日本免费一级片 | 日韩一区二区三区视频 | 日韩欧美区 | 伊人免费在线观看 | free性欧美高清另类 | 国产精品免费_区二区三区观看 | 日韩欧美国产一区二区三区 | 12306播播影视播播影院午夜 | 2018生活片性色生活片 | 一区二区三区免费视频 www | 一级女性全黄久久生活片免费 | 日韩亚洲色图 |