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 中使用它),如下所示:http: //msdn.microsoft.com/en-us/library/zsfww439 (v=vs.71).aspx

高温高压

于 2012-05-24T06:35:00.903 回答