求网页与excel换行符代码表连接代码

求解底下一段代码是什么意思._用header导出excel 乱码求立_表连接相关的__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
求解底下一段代码是什么意思.
用header导出excel 乱码求立
表连接相关的
求解底下一段代码是什么意思.
求解下面一段代码是什么意思...做一个项目时,看到下列代码:struct Data {
unsigned _
const char *(*_sig)();
unsigned _
static unsigned _s;
// data structure used to link the joinpoint data elements
struct Chain {
static Chain *&first () { static Chain *chain = 0; }
Chain (Data *data) : _data (data) {
Chain *head = first ();
first () =
const char *(*_sig)();
static Chain *&first () { static Chain *chain = 0; }
想问一下这些都是什么意思...------解决方案--------------------const char *(*_sig)();
函数指针,指向函数的指针,指向的函数无参数,返回值类型是const char *
static Chain *&first () { static Chain *chain = 0; }
静态函数,返回局部静态指针chain的值,chain初始化的时候初始为0,在程序中会发生变化。
用header导出excel 乱码求立
用header导出excel 乱码求破本帖最后由 u 于
10:53:45 编辑
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=khxx_".date("Ymd").".xls");
include("db.php");
$sql="SELECT * FROM `khxx`";
$query=mysql_query($sql);
echo "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n";
while ($rs=mysql_fetch_array($query)){
echo "{$rs['dates']}\t{$rs['type']}\t{$rs['area']}\t{$rs['names']}\t{$rs['add']}\t{$rs['phone']}\t{$rs['no']}\t{$rs['set']}\t{$rs['dur']}\t{$rs['give']}\t{$rs['moneys']}\t{$rs['attn']}\t{$rs['username']}\t{$rs['rem']}\n";
------解决方案--------------------你是 excel2003 ?
那么你只能使用 gbk 字符集
echo "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n";
echo iconv('utf-8', 'gbk', "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n");
$query=mysql_query($sql);
mysql_query('set names gbk');
表连接相关的
表连接相关的求助表A 中有字段
银行卡号、姓名、银行卡金额
表B中有字段
银行卡号、姓名、消费、消费时间(按天)
如何实现以下类此格式:
同一银行卡号,宋某某、银行卡金额、第几次花费(同一天),消费、银行卡余额,消费时间(按天)
PS:貌似很简单、怎么就是实现不了啊------解决方案--------------------*-- 以下代码需要 vfp9.0
Create Cursor 消费 (卡号 C(20),姓名 C(20),消费金额 N(10,2),消费时间 T)
Insert Into 消费 Values ('','张三',50,{^ 00:20:00})
Insert Into 消费 Values ('','张三',60,{^ 08:50:50})
Insert Into 消费 Values ('','张三',60,{^ 12:12:12})
Insert Into 消费 Values ('','李四',120,{^ 00:20:00})
Create Cursor 银行卡 (卡号 C(20),姓名 C(20),金额 N(10,2))
Insert Into 银行卡 Values ('','张三',10000)
Insert Into 银行卡 Values ('','李四',20000)
Select A.卡号,A.姓名,B.金额,(Select Count(*) From 消费 C Where A.卡号=C.卡号 And C.消费时间&=A.消费时间) As 第几次消费,A.消费金额,;
B.金额-(Select Sum(消费金额) From 消费 D Where A.卡号=D.卡号 And D.消费时间&=A.消费时间) As 余额,A.消费时间 From 消费 A Left Join 银行卡 B On A.卡号=B.卡号 Order By A.卡号,A.消费时间
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:如何在Excel 表格里使粘贴的网址能够链接到该网页到_百度知道
如何在Excel 表格里使粘贴的网址能够链接到该网页到
提问者采纳
“插入/点右侧‘浏览过的网页’&#47、在EXCEL单元格粘贴后;超链接&#47、复制网页地址。
2,网址即变为蓝色:1方法一,单元格即录入网页地址、选中EXCEL单元格,即可打开该网页,底部地址框则显示所选地址&#47,回车,将光标置于网址结尾处,即可打开网页;确定”、左键单击蓝色地址。
2。
3。
3、打开过要链接的网页。
方法二、单击单元格地址;点左侧‘原有文件或网页’/在框中选网页名称后:1
其他类似问题
为您推荐:
excel的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 807|回复: 8
关于网页中分页表格批量导出问题——已解决
阅读权限20
在线时间 小时
本帖最后由 连珠白 于
19:25 编辑
求助各位老师
现有网页:
共有1372页,如何用VBA,将所有页的数据导出到excel中?
求指点,谢谢。
阅读权限30
在线时间 小时
录制了个宏,发现提交数据真是地址为
上面goto_page=12,to_page=12均为显示第12页的内容
所以录制的宏可以修改为Sub aa(i As Integer, a As Range)
Dim t As String
t = &URL;http://210.75.206.60/tjsqba/applyInfo.do?method=getallApplyList&serialNumber=&name=&pdeptid=&updeptid=&page_flag=true&pagesize_key=default&page_order=&goto_page=12&current_page=3&total_count=13715&to_page=12&
& & With ActiveSheet.QueryTables.Add(Connection:=t, Destination:=a)
& && &&&.Name = &applyInfo.do?method=getallApplyList&
& && &&&.FieldNames = True
& && &&&.RowNumbers = False
& && &&&.FillAdjacentFormulas = False
& && &&&.PreserveFormatting = True
& && &&&.RefreshOnFileOpen = False
& && &&&.BackgroundQuery = True
& && &&&.RefreshStyle = xlInsertDeleteCells
& && &&&.SavePassword = False
& && &&&.SaveData = True
& && &&&.AdjustColumnWidth = True
& && &&&.RefreshPeriod = 0
& && &&&.WebSelectionType = xlSpecifiedTables
& && &&&.WebFormatting = xlWebFormattingNone
& && &&&.WebTables = &4&
& && &&&.WebPreFormattedTextToColumns = True
& && &&&.WebConsecutiveDelimitersAsOne = True
& && &&&.WebSingleBlockTextImport = False
& && &&&.WebDisableDateRecognition = False
& && &&&.WebDisableRedirections = False
& && &&&.Refresh BackgroundQuery:=False
& & End With
End Sub复制代码然后再用另外一个模块循环调用1372页,
Dim i As Integer
For i = 1 To 1372
Call aa(i, Range(&a& & (i - 1) * 11 + 1))
等待全部搞定,再处理一下标题即可
阅读权限20
在线时间 小时
jokklx 发表于
录制了个宏,发现提交数据真是地址为
URL;http://210.75.206.60/tjsqba/applyInfo.do?method=getallApplyL ...
非常感谢您的帮助
但是代码点击运行,并没有运行,显示出一个对话框
C:\Users\xiangfeng\Desktop\捕获.JPG
阅读权限20
在线时间 小时
连珠白 发表于
非常感谢您的帮助
但是代码点击运行,并没有运行,显示出一个对话框
这是什么提示
阅读权限20
在线时间 小时
liangdonghao222 发表于
这是什么提示
我也不知道,貌似excel没有运行代码。
我的步骤是:
2.停止录制
3.宏-选择刚才产生的“宏1”-编辑,然后粘贴代码
4.点击绿三角运行,现在就出一个“宏”的对话框。。。。。
阅读权限20
在线时间 小时
连珠白 发表于
我也不知道,貌似excel没有运行代码。
我的步骤是:
用xmlhttp方法可能好点吧。不用后续处理标题
阅读权限95
在线时间 小时
Sub getwebdata()
& & Dim url$, html As Object, xmlhttp As Object, p&, n&, i%, j%
& & Set html = CreateObject(&htmlfile&)
& & Set xmlhttp = CreateObject(&msxml2.xmlhttp&)
& & For p = 0 To 1371
& && &&&url = &http://210.75.206.60/tjsqba/applyInfo.do?method=getallApplyList&serialNumber=&name=&pdeptid=&updeptid=&page_flag=true&pagesize_key=default&page_order=&goto_page=next&current_page=& & p & &&total_count=13715&to_page=&
& && &&&With xmlhttp
& && && && &.Open &get&, url, False
& && && && &.send
& && && && &html.body.innerhtml = .responseText
& && &&&End With
& && &&&Set tb = html.body.getelementsbytagname(&tr&)
& && &&&For i = IIf(p & 0, 8, 7) To tb.Length - 5
& && && & n = n + 1
& && && & For j = 0 To tb(i).childnodes.Length - 1
& && && &&&Sheet1.Cells(n, j + 1) = tb(i).childnodes(j).innertext
& && && & Next
& && &&&Next
& & Next
& & Set html = Nothing
& & Set xmlhttp = Nothing
End Sub复制代码
阅读权限30
在线时间 小时
see if help you
(410.81 KB, 下载次数: 68)
19:20 上传
点击文件名下载附件
阅读权限20
在线时间 小时
本帖最后由 连珠白 于
19:27 编辑
问题已经解决,非常感谢jokklx 、bluexuemei 、 和liangdonghao222 的指点,和各位网友的关注!!!
玩命加载中,请稍候
玩命加载中,请稍候
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
本站特聘法律顾问:徐怀玉律师 李志群律师
Powered by查看: 1171|回复: 11
解说一下,关于读取网页表格
阅读权限50
在线时间 小时
& & & & & & & &
本帖已被收录到知识树中,索引项:
论坛上经常有朋友在网页表格数据抓取方面求取,呃...... 多集中于股票和彩票,这方面个人不是很感兴趣,不过仅从代码的角度,还是可以说说的
读取网页有数据流方式(XMLHTTP)和对象模式,各有利弊,这里拿网页对象模型说说,因为数据流的话,提析数据往往要用到正则解析之类的字串分析,初学的朋友眼都会花掉吧。
附件是完成的一个VBA,主程序SAMPLE,有两个例子,一个是本论坛VBA页面,另一个是在HAO123找的股票表格
附件的代码见后面,这里只说说原理,理解了灵活运用。
代码的主要部分是下面那个getTableByNumber函数,调用方式是CALL getTableByNumber(网页地址,网页上要抓取的表格编号,要把数据导出的RANGE对象)复制代码首先假设你已经对打开IE APPLICATION对象已经了解了,这部分不讲(以前发过相关OX),总之是创建InternetExplorer.Application,等它完全打开,最后关掉这个APPLICATION
我们从Set tableX = Ie.document.getElementsByTagName(&table&)(TableNumber) 这一行开始讨论
在网页的DOCUMENT模型中,TABLE是标准的网页元素,因此它可以用上一级网页元素的getElementsByTagName方法取得所有TABLE的集合Set 表格集合 = Ie.document.getElementsByTagName(&table&)(TableNumber)复制代码这里网页新手注意一下,取得的是集合而不是单张表,它是一个网页架构上的colletion集合,与我们EXCEL VBA的大部分集合差不多,
但这种集合的计数属性是length而不是count,从0开始使用下标,使用FOR N=X TO Y 循环计数时,就要用 FOR I=0 TO 表格集合对象.length-1 遍历,
当然用FOR EACH我就不管了.
表格集合对象的ITEM是每张表,要抓取指定表格,请在网页源文本里查出表的位置.
以ID定位是最好的,但我们不指望每个网页表都有ID,所以用表出现的次序定位,第一个&TABLE&是0号表格,第N个&TABLE&自然是N-1号表格
得到表集合以后,用
set 表格对象变量=表格集合(I)&&得到具体的第I张表
然后是表格中单元格数据的定位.
在EXCEL里,RANGE对象有ROWS子集和COLS子集定位行列,或者用RANGE对象.CELLS(ROW,COL)定位第ROW行第COL列的单元格
TABLE也有行\列属性,行集合是TABLE对象.ROWS,列是COLS
同样具体定位I行就是
SET 行对象=表格对象.ROWS(I)
不再解说列对象,它的调用是相似的
行对象属于网页元素&TR&,它有CELLS集合访问&本行的每一个单元格&——注意与EXCEL的RANGE.CELLS(X,Y)不同,因为它只是“行”,所以只要给出列序号即可
行对象.CELLS(j)& &'&==访问这行的第J个单元格
换一种说法,我们还可以用&&表格对象.ROWS(i).CELLS(J)& & 访问这个网页表格的第I行第J个单元格
后面就不详细解释了,一句话就是当定位到具体单元格后,读取文本到EXCEL的RANGE
SAMPLE代码给出两个例子,都是定义了 URL网页位置\表格出现的编号 读取数据到第一个工作表,
不过股票的赋值已经注释掉,有兴趣自已试验
代码只是作为参考,读取网页的函数本身固定了把抓取的数据放到SHEET1,并不是说一定要用这种格式,各位朋友请在理解以后,灵活运用Option Explicit
Sub sample()
Dim myUrl As String, myTableNumber As Integer
Dim shtX As Worksheet, rngX As Range
&&
&&'指定网页URL
&&
'myUrl = &/stocknew&
'myTableNumber = 0&&'&==第一张表是0号表,依次类推
&&
&&myUrl = &http://club.excelhome.net/forum-2-1.html&
&&'myTableNumber = 0&&'&==第一张表是0号表,依次类推
&&
&&'指定网页上的表格编号,自已在网页源里测试
&&myTableNumber = 4&&'&==第一张表是0号表,依次类推
&&
&&'设置要显示网页内容的目标位置,这里是在第一张表的A2
&&Set shtX = ThisWorkbook.Worksheets(1)
&&Set rngX = shtX.Range(&a2&)
&&
&&shtX.Cells.ClearContents
&&Call getTableByNumber(myUrl, myTableNumber, rngX)
End Sub
Sub getTableByNumber(Optional Url As String, Optional TableNumber As Integer, Optional rngX As Range)
& & Dim Ie
& & Set Ie = CreateObject(&InternetExplorer.Application&)
& &
& & With Ie
& && &&&.Visible = True&&'&==自定,调试时可设为显示
& && &&&.navigate Url
& && &&&
& && &&&Do Until .readyState = 4
& && && && &DoEvents
& && &&&Loop
& & End With
& &
& & Dim docX, tableX, row, tdGroup
& & Dim I, J
& &
& & Set tableX = Ie.document.getElementsByTagName(&table&)(TableNumber) '&==网页所有表格的集合
& &
& & '遍历此表的所有行,TD标签.
& & '在此说明一下TABLE相关属性,ROWS是行数,COLS是列数
& & '网页集合的计数是从0开始
& & For I = 0 To tableX.rows.Length - 1
& && &
& && &Set row = tableX.rows(I)
& && &'遍历每行所有表格
& && &For J = 0 To row.Cells.Length - 1
& && && &
& && && & '显示内容,注意在EXCEL里RANGE集合取表格位是从1开始,所以要加1
& && && & rngX.Cells(I + 1, J + 1) = row.Cells(J).innerText
& && &Next
& & Next
& & Ie.Quit
End Sub
15:44 上传
点击文件名下载附件
11.97 KB, 下载次数: 116
阅读权限95
在线时间 小时
你 应该用XMLHTTP+HTMLFILE两个对象来解决,比用IE打开效率上提高太多了
阅读权限30
在线时间 小时
wudixin96 发表于
你 应该用XMLHTTP+HTMLFILE两个对象来解决,比用IE打开效率上提高太多了
二锅好,最近不露面...
阅读权限30
在线时间 小时
本帖最后由 0wchz 于
17:10 编辑
谢谢学习了Document.all.tags(&td&)那这是什么对象,如何加到你的代码里?
阅读权限50
在线时间 小时
顶一下,留个记号备查。
阅读权限100
在线时间 小时
一般我也用IE对象法来取网页数据,
因为XML用不大来。。&&继续学习
阅读权限50
在线时间 小时
& & & & & & & &
wudixin96 发表于
你 应该用XMLHTTP+HTMLFILE两个对象来解决,比用IE打开效率上提高太多了
主贴已经解释了为什么用网页对象模型作例子。
XMLHTTP数据流的好处是快捷,但没有经过WEB模型解析,在HTTP文本中要用正则(或相当于正则)的方法分析字符,
另一个问题是因为没有解析,在WEB OPEN之后能用HTTP接口分析出的WEB对象模型——比如说内嵌文件生成、代码生成的动态目标对象,在原始文本数据流中是看不到的。
网页对象的问题正好相反,解析过程是在解析引擎中完成,速度较慢。
对初学者来说,对网页层次对象的分析更直观更好理解。
都说了用HTMLFILE对象,根本不需要什么正则&
阅读权限50
在线时间 小时
回 @wudixin96
用HTMLFILE对象也是可以的,可是......这东东也是W3C下DOCUMENT模型层次啊,
你的想法不会是那种用MSXML/XMLHTTP读入字符流,再借用HTMLFILE解析出网页模型?
强调快捷XML读取数据流没什么,这个这个,再套上DOCUMENT往下GETTAGS、GETELEMENTS,避开了字符解析,但不觉得绕回来了么,还是要用DOCUMENT对象
本来绕回来也没关系,黑猫白猫,能用就行
我个人认为,对新手与其走MSXML又套上HTMLFILE得到DOCUMENT,直接读取IEAPPLICATION.DOCUMENT 应该更直接罢。
阅读权限50
在线时间 小时
<font color="#wchz 发表于
谢谢学习了Document.all.tags(&td&)那这是什么对象,如何加到你的代码里?
这是“DOCUMENT下的所有TD集合”,直接解释,是取得网页(DOCUMENT这个文档)下属一切TABLE 单元格对象集。
用这个解析的话,可以得到本页一切表格元素(不管有几张表,一张表的网页最合适),但在具体的应用中,有时可能达不到需求,比如这个TD集合的某个TD,究竟属于哪个TABLE,还有某个表的一系列TD,它们的行列关系是什么——就是纯粹TD集合没有了上级TABLE、行列定位信息。
阅读权限10
在线时间 小时
楼主看看我的帖子呗:
http://club.excelhome.net/forum.php?mod=viewthread&tid=1143790&extra=&ordertype=1&threads=thread
玩命加载中,请稍候
玩命加载中,请稍候
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
本站特聘法律顾问:徐怀玉律师 李志群律师
Powered by

我要回帖

更多关于 查看excel宏代码 的文章

 

随机推荐