pb9中使用htmltable方式将数据窗口导出为excel文件的几点看法
来源:互联网 发布:光伏智能软件 编辑:程序博客网 时间:2024/04/30 13:01
在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号
具体可以这样处理:
string ls_htmldatals_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文件了。
- pb9中使用htmltable方式将数据窗口导出为excel文件的几点看法
- 使用poi将数据导出为excel文件的几点注意
- 将中DataSet的数据导出为EXCEL文件
- 将HtmlTable内容导出到Excel,使用NPOI组件
- 将DW数据窗口导出为EXCEL文件的方法(整理)
- 将DW数据窗口导出为EXCEL文件的方法(整理)
- 将DW数据窗口导出为EXCEL文件的方法(整理)
- 关于导出数据为Excel的几种方式
- 导出数据为Excel的几种方式
- 使用java在后台将数据导出为excel文件
- 将datagridview数据导出为excel文件
- 将数据导出为EXCEL文件
- 将列表数据导出为Excel文件
- 将数据窗口保存为Excel文件的方法
- 将GridView中数据导出为Excel
- 数据导出excel 使用将 DataTable导出为excel
- pb9中数据窗口的XML特性(二、编辑导出模板)
- pb9中数据窗口的XML特性(三、导出XML)
- 实时播放PCM发出“咔咔”声音|缓冲区|cooledit(未写)
- XML的pull解析
- treepanel所要的json格式的数据
- 2011年7月6日 《C++ Primer》 第8章示例 8.7 strquote.cpp
- bak 6.android xml解析 XmlPullParser的使用.
- pb9中使用htmltable方式将数据窗口导出为excel文件的几点看法
- 有关socket通信包大小的问题总结(UDP传输模式)
- 实体.xml文件中cacheModel
- 即时通讯软件openfire+spark+smack
- 一个通用Makefile的编写
- 简单的版面分析
- TCPIPChap171819TCP
- Service
- Android service 服务 笔记