ASP は Excel にデータ (画像) をインポートします。ASP の最終バージョンは、必要な友人がそれを参照できるようにします。 Excel にデータをインポートするためにプログラムを使用する必要がある人も多いと思います。一般に、テキスト データをエクスポートするには、テキスト文字列を結合して に保存するなど、さまざまな方法があり、非常に便利です。 cvs形式(データをカンマと改行で区切る形式)、デフォルトではExcelで開きます)、たとえば、xlsファイルをデータとして扱い、SQLを使用して操作するなど、画像データをエクスポートする必要がある場合はどうすればよいですか。 ? これには Excel.Application オブジェクトを使用する必要があります。
実際、Excel.Application を使用すると、OfficeExcel ソフトウェアで実行できるすべての操作が可能であり、非常に強力な機能ですが、私たち一人一人の学習エネルギーには限界があり、誰もがこれに慣れることは不可能です。 、価値のあるものを入手したいと考えて、Baidu と Google で単語を検索しましたが、ほとんどが問い合わせであり、コードには多くの明らかなエラーが含まれていました。機能上の欠陥 多くのサイトが他のサイトから記事を直接コピーしていることは批判に値します。相変わらず質の低い記事ですが、探さないでください。よく言われるように、私が地獄に行かなければ誰が地獄に行くのでしょうか。だから私は皆のためにこの仕事をしました。
最初に VBA マニュアルのコレクションを見つけました。幸いにもそれは chm 形式でしたので、その中にある Vbaexcelxl10.chm を開いたところ、まあ、悪くはありません。確かに優れたマニュアルですが、チュートリアルではありません。泣ける…仕方ないので読み進めるしかない。結局、マニュアルはマニュアルであり、便利な操作については詳しく書かれていないし、それぞれの論理的なつながりについても説明されていない。私の慎重な分析と大胆な予測の結果、内容の一部が完全に削除されました。慎重に考え、多くの実験を行い、ナイフの山を登り、鍋を下り、いや、火の海を下り、ついにそれを完璧に達成しました。今、一晩かけて Web630.Net にアップロードしました。皆さんがそうしてくれることを願っています。このサイトを思い出していただき、各テクノロジーサイトがよりオリジナルな記事を投稿し、中国のプログラミング産業の発展に貢献することを願っています。
次のようにコードをコピーします。
<%
Rem は ExcelApplication の作業環境を初期化します
薄暗い ExcelApp、電子ブック、電子シート
Set ExcelApp = CreateObject(Excel.Application) 'Excel オブジェクトを作成します
ExcelApp.DisplayAlerts=false '警告を表示しません
ExcelApp.Application.Visible=false 'インターフェイスを表示しません
レムがExcelデータを初期化
'ExcelApp.Workbooks.Open(Server.MapPath(zzz.xls)) 'Excel ブックを開き、次の行を置き換えます
Set eBook=ExcelApp.Workbooks.Add '新しい Excel ワークブックを作成します
Set eBook=ExcelApp.Workbooks(1) '最初のブックを参照します
set eSheet = eBook.Worksheets(1) '最初のワークシートを参照します
レムデータのインポート
薄暗い私、img
i = 1
i=1~5の場合
eSheet.Cells(i,1).Value=フィールド 1&i
eSheet.Cells(i,2).Value=フィールド 2&i
eSheet.Cells(i,3).Value=フィールド 3&i
eSheet.Cells(i,4).Select 'i 行の 4 番目のセルを選択します
Set img=eSheet.Pictures.Insert(Server.MapPath(people.jpg)) '上記の場所に画像を挿入し、画像への参照を取得します
img.Top=img.Top+2 '画像の位置を調整します。以下も同様です。そうしないとテーブルの端を押してしまいます。
img.Left=img.Left+2 '単位はポンドです
eSheet.Rows(i).RowHeight=img.Height+4 '画像の高さと自動的に同じになるように現在の行の高さを調整します
次
レムは上記の作業を保存します
'eBook.Save '既存の Excel ファイルを開いている場合は、この行を使用して次の行を置き換えることができます
eBook.SaveAs Server.MapPath(zzz.xls)
eSheet=Nothing を設定します
eBook=Nothing を設定します
「ExcelApp.Quit」を終了する必要があります。終了しないと、Excel プロセスがオペレーティング システムに残ります。
ExcelApp = なしを設定します
%>
ASP が Excel にデータを読み書きする場合、より簡単な方法は、Excel をデータベースとして扱い、SQL ステートメントを使用して操作することです。この記事は、「ASP が Excel にデータをインポートする (写真) 「決定版」の補助情報は参考用です。
次のようにコードをコピーします。
<%
ディムコン、rs、sql
サブDBOpen()
ディムデータベース: db=Server.MapPath(zzz.xls)
conn=Server.CreateObject(Adodb.Connection) を設定します。
エラー時は次へ再開
conn.Open Provider=Microsoft.Jet.OLEDB.4.0;拡張プロパティ=Excel 8.0;HDR=YES;データソース= & db
Rem HDR のデフォルトは YES です。これは、最初の行がフィールド名として使用され、それ以外の場合はコンテンツとみなされます。
Excel2007 の場合は、次のようになります: Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties=Excel 12.0;Data Source=xxx.xlsx;
Err.Number<>0 の場合
エラークリア
Response.Write(<h1>データベース リンクがエラーです</h1>)
Response.End()
終了の場合
エラー時 GoTo 0
エンドサブ
サブDBClose()
IsNotBlank(conn) の場合
conn.Close()
conn=Nothing を設定します
終了の場合
エンドサブ
関数 IsNotBlank(ByRef TempVar)
IsBlank=True
Case VarType(TempVar) を選択してください
ケース 0,1 '空およびヌル
IsBlank = False
ケース9「オブジェクト」
TypeName(TempVar) = なし、または TypeName(TempVar) = 空の場合
IsBlank = False
終了の場合
エンドセレクト
終了機能
CallDBOpen()
sql=SELECT * FROM [Sheet1$] 'テーブル名の記述に注意してください。ワークシート名の後に記号 $ を追加する必要があります。
rs=conn.Execute(sql) を設定します。
rs.Eof ではない間
Response.Write(rs(0)&, )
Response.Write(rs(1)&, )
Response.Write(rs(2)&<br />&VbCrLf)
rs.ムーブネクスト
ウェン
rs.Close: rs=Nothing を設定します
CallDBClose()
%>