0

従来の ASP で MS EXCEL からデータをインポート/エクスポートしたいと考えています。私はその部分をやりました。しかし、私の問題は、MS EXCEL からデータをインポートおよびエクスポートするときに、サーバーに MS-OFFICE をインストールする必要があることです。しかし、クライアントはサーバーに MS-OFFICE をインストールすることを望んでいません。サーバーにMS-OFFICEをインストールせずにExcelからインポート/エクスポートするものはありますか。

前もって感謝します

感謝&よろしくゼリー

4

2 に答える 2

1

私はこれを昔から何度も行ってきました ;-) 残念ながら、そのコードはすぐには見つかりません。この例をインポートすることがわかりました:

<%
Set ExcelConn = Server.CreateObject("ADODB.Connection")
Set ExcelRS = Server.CreateObject("ADODB.Recordset")
ExcelConn.Provider = "Microsoft.Jet.OLEDB.4.0"
ExcelConn.Properties("Extended Properties").Value = "Excel 8.0"
ExcelConn.Open "C:\Sample\Sample.xls"

'get data from sheet
sSQL = "SELECT * FROM Sample$"
set ExcelRS = ExcelConn.Execute(sSQL)

'loop through each record in Excel and write it to access
'might be slow, but will work

Do until ExcelRS.EOF 
myConn.Execute("INSERT INTO Sample_tbl(lname,fname,mi) VALUES ('" & ExcelRS("0") & "', '" & ExcelRS("1") & "','" & ExcelRS("2") & "')")

ExcelRS.MoveNext
Loop

ExcelRS.Close
set ExcelRS = NOTHING
objExcelConn.Close
set ExcelConn = NOTHING
objConnAccess.close
set objConnAccess = NOTHING
%>

そして、このエクスポート用の小さなスニペットは、正しいコンテンツ タイプ ヘッダーを追加することになります。

<%@ Language=VBScript %>
<%  Option Explicit

Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=sample.xls"
%>
<table>
    <tr>
        <td>Sample</td>
    </tr>
</table>
于 2012-05-24T09:04:13.233 に答える
0

私は自分でそれをしたことはありませんが、なぜそうしないのかわかりません。

おそらく既にサーバーにあるMS Jetデータベースエンジンを使用できます https://stackoverflow.com/a/16051/882436

または、次のコンポーネントを使用することもできます: http://exceldatareader.codeplex.com/

そして、次のように COM 相互運用機能を介して動作させます (従来の ASP で使用できるようにします)

HTH

于 2012-05-24T06:35:00.903 に答える