<!--#include file="../conn.asp"--> <% dim s,sql,filename,fs,myfile,x Set fs = server.CreateObject("scripting.filesystemobject") '--假设你想让生成的EXCEL文件做如下的存放 filename = Server.MapPath("users.xls") '--如果原来的EXCEL文件存在的话删除它 if fs.FileExists(filename) then fs.DeleteFile(filename) end if '--创建EXCEL文件 set myfile = fs.CreateTextFile(filename,true) 'Set rs = Server.CreateObject("ADODB.Recordset") '--从数据库中把你想放到EXCEL中的数据查出来 'sql = "select * from Tb_Execl order by id desc" 'rs.Open sql,conn StartTime = Request("StartTime") EndTime = Request("EndTime") StartEndTime = "AddTime between #"& StartTime &" 00:00:00# and #"& EndTime &" 23:59:59#" strSql = "select * from myeky_myusr " Set rstData =conn.execute(strSql) if not rstData.EOF and not rstData.BOF then dim trLine,responsestr strLine="" For each x in rstData.fields strLine = strLine & x.name & chr(9) Next '--将表的列名先写入EXCEL myfile.writeline strLine Do while Not rstData.EOF strLine="" for each x in rstData.Fields strLine = strLine & x.value & chr(9) next myfile.writeline strLine rstData.MoveNext loop end if Response.Write "生成EXCEL文件成功,点击 <a href=""users.xls"" target=""_blank"">下载 </a>!" rstData.Close set rstData = nothing Conn.Close Set Conn = nothing %> 问题: 生成Excel文件中的数据如:日期时间型 默认显示了8个# ; 值全是数字超长后1022130515理应正常显示1022130515,默认显示:2.0071e+13; 如何导出Excel文件后。日期型默认显示-10-23而非8个#,数值超长显示正常呢。 1,导出的时候如何 设置导出 单元格格式 2,如何控制列宽列高; 3,如何在导出时合并单元格;
这个问题第1个回答:数字加上',可以正常显示全部数字
其他在VB里写过:
Dim mExApp As Excel.Application '应用
Dim mExBook As Excel.Workbook '工作薄
Dim mExSheet As Excel.Worksheet '工作表
这个问题第2个回答:
Set mExApp = CreateObject("Excel.Application") '定义Xls对象
Set mExBook = mExApp.Workbooks.Open(fielpath & "/" & xlfielname & ".xls") '定义工作簿对象
Set mExSheet = mExBook.Worksheets(1) '定义工作表对象
mExSheet.Cells.NumberFormatLocal = "@" '设置为文本格式
.....
'自动调整列
For Column = 1 To rstField
mExSheet.Columns(Column).AutoFit
Next
这个问题第3个回答:
3,如何在导出时合并单元格;
关注