顧客は、会員カード番号、パスワード、金額などの大量のデータ (毎回数万項目) をバックエンドに生成することを要求しています。生成された会員カード番号とパスワードはカードに印刷して会員に発行する必要があります。データベース内に大量のデータが生成されます。カード印刷メーカーは、印刷用のデータを取得したい場合はどうすればよいでしょうか?
そこで、コードを使用して Excel テーブルを生成し、Access でデータをエクスポートすることを考えました。印刷するだけでは十分ではないでしょうか?インターネットで関連情報を検索しても満足できなかったので、このプログラムを自分で書きました。みんなでシェアできるようにリリースされました!
コードは次のとおりです。
引用した内容は以下の通りです。 <!--#include file=../conn.asp--> <% if session(china_admin)= then 応答.リダイレクト ログイン.asp dbpath=../ データベースリンク dim ファイル名,fs,myfile,x,m,n,o,link Set fs =server.CreateObject(scripting.filesystemobject) Set rs = Server.CreateObject(ADODB.Recordset) session(sql) = select * from china_car rs.オープンセッション(SQL),conn,1,1 n=1 '================================================ = ================= '================================================ = =============Excelファイルシステムの作成 filename = Server.MapPath(car/CarTable&n&.xls) 'これは便宜上、新しい CAR フォルダーを作成します。これは自分で設定できます。 if fs.FileExists(filename) then' ファイルが存在する場合は上書きします。 fs.DeleteFile(ファイル名) 終了する場合 set myfile = fs.CreateTextFile(ファイル名,true) '================================================ = ======================= dim strLine,responsestr strLine= 薄暗い仕事、j、i str=シリアル番号|カード番号|パスワード|ポイント数|金額' これは、アクセス データ テーブルのフィールドに従って設定されます。 work=split(str,|) j=ubound(仕事) i=0 o=0 i>j でない間に行う strLine= strLine & work(i) & chr(9) i=i+1 ループ myfile.writeline strLine Do while Not rs.EOF o=o+1 m=20000 strLine= rs.Fields の各 x について strLine= strLine & x.value & chr(9) o>=m*n の場合 n=n+1 filename = Server.MapPath(car/CarTable&n&.xls) 'これは自分で設定できます if fs.FileExists(filename) then' ファイルが存在する場合は上書きします。 fs.DeleteFile(ファイル名) 終了する場合 set myfile = fs.CreateTextFile(ファイル名,true) 終了する場合 次 myfile.writeline strLine rs.次へ移動 ループ rs.閉じる setrs=なし 接続閉じる conn = 何も設定しない myfile = 何も設定しない fs=何も設定しない ExcelPath=car/CarTable&n&.xls 応答。書き込みが正常にエクスポートされました response.write(<a href=' & server.URLEncode(ExcelPath) & '><font=red>ダウンロード</font></a>) %> |