| 订阅 | 在线投稿
分享
 
 
 

asp将数据导入excel后,中文出现乱码??怎么解决

2008-08-07 07:35:05 编辑來源:互联网 国际版 评论
 
 
  问:asp将数据导入excel后,中文出现乱码??怎么解决

  <!--#include file="function/connect.asp" -->

   <!--#include file="function/function.asp" -->

   <%

   Response.Charset = "UTF-8"

   '前面包含的文件是和来链接到数据库,你要修改这个文件以链接到不同的库

  

   sql1="select * from apply " '这里是要输出EXCEL的查询语句,如 "SESECT * FORM CAI WHERE 性别='女'"

   filename="excel4.xls" ' 要输出的EXCEL文件的文件名, 你只要改以上两句就行了,其它的都不要改.

  

   call toexcel(FILENAME,sql1)

   set conn=nothing

  

   function ReadText(FileName) '这是一个用于读出文件的函数

   'response.write server.MapPath(FileName)

   'response.end

   set adf=server.CreateObject("Adodb.Stream")

   with adf

   .Type=2

   .LineSeparator=10

   .Open

   .LoadFromFile (server.MapPath(FileName))

   .Charset="GB2312"

   .Position=2

   ReadText=.ReadText

   .Cancel()

   .Close()

   end with

   set ads=nothing

   end function

  

   sub SaveText(FileName,Data) '这是一个用于写文件的函数

   set fs= createobject("scripting.filesystemobject")

   set ts=fs.createtextfile(server.MapPath(FileName),true)

   ts.writeline(data)

   ts.close

   set ts=nothing

   set fs=nothing

   end sub

  

   sub toexcel(filename,sql) '这是一个根据SQL语句和FILENAME生成EXCEL文件

   Set rs=Server.CreateObject("ADODB.RecordSet")

   'Response.Write sql

   'response.end

   rs.Open sql,objconn,1,1

   TOEXCELLR="<table width='100%'><tr >"

   set myfield=rs.fields

   dim fieldname(50)

   for i=0 to myfield.count-1

   toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NAME&"</td>"

   fieldname(i)=myfield(i).name

   if myfield(i).type=135 then datename=datename&myfield(i).name&","

   next

   toexcellr=toexcellr&"</tr>"

   do while not rs.eof

   toexcellr=toexcellr&"<tr>"

   for i=0 to myfield.count-1

   if instr(datename,fieldname(i)&",")<>0 then

   if not isnull(rs(fieldname(i))) then

   TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'>"&formatdatetime(rs(fieldname(i)),2)&"</p></td>"

   else

   TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'></p></td>"

   end if

   else

   TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(fieldname(i))&"</td>"

   end if

   next

   toexcellr=toexcellr&"</tr>"

   rs.movenext

   loop

   rs.close

   toexcellr=toexcellr&"</table>"

   tou=readtext("tou.txt")

   di=readtext("di.txt")

   toexcellr=tou&toexcellr&di

   call savetext(filename,toexcellr)

   end sub

   %>

   <html>

   <head>

   <meta http-equiv="refresh" content="3;URL=<%=filename%>">

   <meta http-equiv="Content-Language" content="en-us">

   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

   <title>正在生成EXCEL文件</title>

   </head>

   <BODY>

   正在生成EXCEL文件....

   </BODY>

   </HTML>

  答:

  EXEC master..xp_cmdshell 'bcp "SELECT * FROM 库名.dbo.apply where 性别=女" queryout "excel4.xls" -c -q -S"服务器名" -U"用户名" -P"密码"'

  

   我用这种方法导出到excel没有出现乱码,你试下吧,sql数据库
 
 
问:asp将数据导入excel后,中文出现乱码??怎么解决 <!--#include file="function/connect.asp" --> <!--#include file="function/function.asp" --> <% Response.Charset = "UTF-8" '前面包含的文件是和来链接到数据库,你要修改这个文件以链接到不同的库 sql1="select * from apply " '这里是要输出EXCEL的查询语句,如 "SESECT * FORM CAI WHERE 性别='女'" filename="excel4.xls" ' 要输出的EXCEL文件的文件名, 你只要改以上两句就行了,其它的都不要改. call toexcel(FILENAME,sql1) set conn=nothing function ReadText(FileName) '这是一个用于读出文件的函数 'response.write server.MapPath(FileName) 'response.end set adf=server.CreateObject("Adodb.Stream") with adf .Type=2 .LineSeparator=10 .Open .LoadFromFile (server.MapPath(FileName)) .Charset="GB2312" .Position=2 ReadText=.ReadText .Cancel() .Close() end with set ads=nothing end function sub SaveText(FileName,Data) '这是一个用于写文件的函数 set fs= createobject("scripting.filesystemobject") set ts=fs.createtextfile(server.MapPath(FileName),true) ts.writeline(data) ts.close set ts=nothing set fs=nothing end sub sub toexcel(filename,sql) '这是一个根据SQL语句和FILENAME生成EXCEL文件 Set rs=Server.CreateObject("ADODB.RecordSet") 'Response.Write sql 'response.end rs.Open sql,objconn,1,1 TOEXCELLR="<table width='100%'><tr >" set myfield=rs.fields dim fieldname(50) for i=0 to myfield.count-1 toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NAME&"</td>" fieldname(i)=myfield(i).name if myfield(i).type=135 then datename=datename&myfield(i).name&"," next toexcellr=toexcellr&"</tr>" do while not rs.eof toexcellr=toexcellr&"<tr>" for i=0 to myfield.count-1 if instr(datename,fieldname(i)&",")<>0 then if not isnull(rs(fieldname(i))) then TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'>"&formatdatetime(rs(fieldname(i)),2)&"</p></td>" else TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'> </p></td>" end if else TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(fieldname(i))&"</td>" end if next toexcellr=toexcellr&"</tr>" rs.movenext loop rs.close toexcellr=toexcellr&"</table>" tou=readtext("tou.txt") di=readtext("di.txt") toexcellr=tou&toexcellr&di call savetext(filename,toexcellr) end sub %> <html> <head> <meta http-equiv="refresh" content="3;URL=<%=filename%>"> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>正在生成EXCEL文件</title> </head> <BODY> 正在生成EXCEL文件.... </BODY> </HTML> 答: EXEC master..xp_cmdshell 'bcp "SELECT * FROM 库名.dbo.apply where 性别=女" queryout "excel4.xls" -c -q -S"服务器名" -U"用户名" -P"密码"' 我用这种方法导出到excel没有出现乱码,你试下吧,sql数据库
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

网络安全治理:国家安全保障的主要方向是打击犯罪,而不是处置和惩罚受害者

来源:中国青年报 新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...

 
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
清纯得让人窒息(7)
清纯得让人窒息(6)
天泽海韵宣传片
赣州文庙
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有