ASPがクエリ結果をExcelのID番号にエクスポートする問題を解決する
著者:Eve Cole
更新時間:2009-06-23 17:01:06
最近、ASP を使用して Access データベースのクエリ結果を Excel ファイルにエクスポートすると、エクスポートされた Excel ファイルの 1 つのフィールドが ID 番号であるため、すべての ID 番号の下 3 桁が 0 になってしまう問題が発生しました。なんて憂鬱なんでしょう!ネットで調べたところ、Excelのデフォルトの数値形式は「標準」になっており、入力した11桁までしか通常表示できず、11桁を超えると科学表記で表示されてしまいます。
この問題を解決するには、クエリ データをテキスト データとしてマークするだけです。以下はコードの一部です。
<%
'エクセルにエクスポート
set rs =server.createobject("adodb.recordset")
sqlstr="select * from tabname where"&searhsql 'クエリ ステートメント
rs.open sqlstr,oconn,1,3
%>
<%set fs = server.createobject("script_ing.filesystemobject")
'ファイルを保存
ファイル名="info.xls"
temp=ファイル名
filename=request.servervariables("appl_physical_path")&"\"+ファイル名
'既存のExcelファイルを削除します
'fs.fileexists(ファイル名)の場合、
'fs.deletefile(ファイル名)
' 終了したら
'-Excelファイルを作成
set myfile = fs.createtextfile(ファイル名,true)
dim strline,responsestr
strline=""
rs.fields の各 x について
strline= strline & x.name & chr(9)
次
'最初にテーブルの列名をExcelに書き込みます
myfile.writeline strline
rs.eofではない間
strline=""
rs.fields の各 x について
'ここではデータはテキスト型としてマークされています
strline= strline & "="""&x.value &""""& chr(9)
次
'テーブルデータをExcelに書き込む
myfile.writeline strline
rs.movenext
曲がります
link="<a href=\" & temp & " title=eecel テーブルにデータを保存><font color=red><b>Excel ファイルをエクスポート</b></font></a> "
応答.書き込みリンク
myfile = 何も設定しない
fs=何も設定しない
rs.close
%>
ソースコードのダウンロード例: http://code.knowsky.com/down/12254.html