永发信息网

ASP 导出Excel 超过25列时自动换行,怎么解决

答案:2  悬赏:40  手机版
解决时间 2021-01-25 14:57
  • 提问者网友:人生佛魔见
  • 2021-01-25 10:09
下面代码可以导出,但超过25列时就自动换行,怎么解决

<%

'执行
if strleach(Request("Excel_out"))<>"yes" then
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = Server.MapPath(Excel_name)
'--如果原来的EXCEL文件存在的话删除它
if fs.FileExists(filename) then
fs.DeleteFile(filename)
end if
'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)

'--从数据库中把你想放到EXCEL中的数据查出来
if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""

'EXCEL字段
strLine = replace(fields_Excel,"],[",chr(9))
strLine = replace(strLine,"]","")
strLine = replace(strLine,"[","")

'--将表的列名先写入EXCEL
myfile.writeline strLine
Do while Not rs.EOF
strLine=""
for each x in rs.Fields
strLine = strLine & x.value & chr(9)
next

'--将表的数据写入EXCEL
myfile.writeline strLine
rs.MoveNext
loop

rs.Close
set rs = nothing
End If
response.Redirect "?Excel_out=yes"'转到自动转向,为了刷新获取文件信息,不然无法获取文件大小
end if
%>
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-01-25 11:14
建议使用for循环,这样你就可以
if i mod 25 =o then
换行语句
end if
如果用 do while 你就要定义一个变量,没执行一次就+1,然后判断其值等于25.
全部回答
  • 1楼网友:未来江山和你
  • 2021-01-25 12:47
我跟你同样的问题,但是我就是用.replace(" ", "
")解决的,导出后excel里默认显示的是在一行上,但实则是有换行的,你双机下那个单元格就会发现其实已经是换行好了的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯